Imports DevExpress.Xpf.Editors Imports DevExpress.Xpf.LayoutControl Imports tsWPFCore Imports System.ComponentModel Imports System.Data Imports DevExpress.Xpf.Editors.Validation Imports DevExpress.Xpf.Editors.Helpers Imports DevExpress.Xpf.Core Imports tsWPFCore.modExtensiones Imports System.Data.Common Imports System.Data.Entity Imports bdGrupoSanchoToro.db Imports tsUtilidades.Datos Imports DevExpress.Xpf.Bars Imports DevExpress.Xpf.Grid Imports System.Collections Imports tsEFCore8.Extensiones Imports bdGrupoSanchoToro.db.Utilidades Imports bdGrupoSanchoToro.db.tscGrupoSanchoToro Imports System.Data.Objects.DataClasses Imports tsUtilidades Public Class ucUsuario ''Faltan funciones por el error base Private bd As tscGrupoSanchoToro Private _idUsuario As Integer? Public Sub New(Optional idUsuario As Integer? = Nothing) ' Esta llamada es exigida por el diseñador. _idUsuario = idUsuario InitializeComponent() ' Agregue cualquier inicialización después de la llamada a InitializeComponent(). End Sub Public Overrides ReadOnly Property idRegistroAplicacionActual As String Get If Estado = tsUtilidades.EstadosAplicacion.Nuevo Then Return "Usuario.Nuevo" Else Return "Usuario." & DirectCast(Me.DataContext, usuarios).idUsuario.ToString End If End Get End Property Public Overrides ReadOnly Property DescripcionRegistro As String Get Return "Usuario" End Get End Property Public Overrides ReadOnly Property NombreTablaBase As String Get Return "usuarios" End Get End Property Public Overrides Sub EstableceDataContextSecundarios(Optional Background As Boolean = False) Dim gr = (From g In bd.gruposusuarios Select g).ToList leGrupo.ItemsSource = gr Me.cbTema.ItemsSource = (From en In bd.enumeraciones Where en.idGrupoEnumeracionNavigation.Grupo = "TEMAS").ToList End Sub Public Overrides Sub EstableceTitulo() Me.docpanel.Caption = "Usuario" End Sub Public Overrides Sub Cargado() Me.Tipo_ucControlBusqueda = GetType(ucUsuarios) End Sub Private Sub ucUsuario_AntesGuardar(sender As Object, e As ItemClickEventArgs, ByRef Cancelar As Boolean, ByRef MensajesError As Hashtable, EliminacionManual As Integer) Handles Me.AntesGuardar Dim usu As usuarios = Me.DataContext Dim sContraseña As String = TryCast(Me.pbeContraseña.EditValue, String) Dim hte As New Hashtable If Me.Estado = EstadosAplicacion.Nuevo Then If sContraseña = "" Then hte.Add("ALMACENAR-CONTRASEÑA_OBLIGATORIA", "La contraseña es obligatoria") End If End If Dim sRepeticion As String = TryCast(Me.pbeRepeticion.EditValue, String) If sContraseña <> "" OrElse sRepeticion <> "" Then If sContraseña <> sRepeticion Then hte.Add("ALMACENAR-CONTRASEÑA_OBLIGATORIA", "La contraseña no coincide con la repetición") End If If hte.Count > 0 Then MensajesError = hte Cancelar = True Else Dim sSHA1passwd As String = tsUtilidades.crypt.SHA1("M3Soft." & sContraseña) usu.SHA1Passwd = sSHA1passwd End If End If End Sub Private Sub ucUsuario_DespuesGuardar(sender As Object, e As ItemClickEventArgs, OpcionGuardado As Integer) Handles Me.DespuesGuardar Dim usu As usuarios = Me.DataContext _idUsuario = usu.idUsuario End Sub Public Overrides Function EstableceDCPrincipal(Optional Background As Boolean = False, Optional FuerzaNuevo As Boolean = False, Optional Refrescar As Boolean = False) As tsUtilidades.EstadosAplicacion Dim usu As usuarios Dim EstadoNuevo = tsUtilidades.EstadosAplicacion.Nuevo If FuerzaNuevo OrElse _idUsuario Is Nothing Then usu = New usuarios Else usu = (From p In bd.usuarios Select p Where p.idUsuario = _idUsuario.Value).First EstadoNuevo = tsUtilidades.EstadosAplicacion.ModificandoRegistro End If Me.DataContext = usu Return EstadoNuevo End Function Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto bd = tscGrupoSanchoToro.NuevoContexto Return bd End Function Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos Return Comun.ObtienePermisos(Me.bd, "AP.USUARIOS", idUsuario) End Function End Class