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 DevExpress.Xpf.Bars Imports DevExpress.Xpf.Grid Imports System.Collections Imports tsEFCore8.Extensiones Imports bdGrupoSanchoToro.db.Utilidades Public Class ucCambioContrasenna ''Faltan funciones por el error base Private bd As tscGrupoSanchoToro Public Overrides ReadOnly Property idRegistroAplicacionActual As String Get Return "CambioContraseña" 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) Me.cbTema.ItemsSource = (From en In bd.enumeraciones Where en.idGrupoEnumeracionNavigation.Grupo = "TEMAS").ToList End Sub Public Overrides Sub EstableceTitulo() Me.docpanel.Caption = "Cambio Contraseña" End Sub Public Overrides Sub Cargado() End Sub Private Sub ucCambioContrasenna_DespuesGuardar(sender As Object, e As ItemClickEventArgs, OpcionGuardado As Integer) Handles Me.DespuesGuardar Dim usu As usuarios = Me.DataContext If usu.idTema IsNot Nothing Then DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName = usu.idTemaNavigation.ValorAlfabetico1 End Sub Private Sub ucCambioContrasenna_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ñaAnterior As String = TryCast(Me.pbeContraseñaActual.EditValue, String) Dim sContraseña As String = TryCast(Me.pbeContraseña.EditValue, String) Dim sRepeticion As String = TryCast(Me.pbeRepeticion.EditValue, String) Dim hte As New Hashtable If sContraseña <> "" OrElse sContraseñaAnterior <> "" OrElse sRepeticion <> "" Then If tsUtilidades.crypt.SHA1("M3Soft." & sContraseñaAnterior) <> usu.SHA1Passwd Then hte.Add("ALMACENAR-CONTRASEÑA_ACTUAL_INCORRECTA", "La contraseña actual no es correcta") End If If sContraseña <> "" Then If sContraseña <> sRepeticion Then hte.Add("ALMACENAR-CONTRASEÑA_NO_COINCIDE", "La contraseña no coincide con la repetición") End If Else hte.Add("ALMACENAR-CONTRASEÑA_OBLIGATORIA", "La contraseña es obligatoria") 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 Dim vp As dxwInicio = Comun.dwi Dim scaler = TryCast(vp.DockLayoutManager1.LayoutTransform, ScaleTransform) If scaler IsNot Nothing Then usu.Escala = scaler.ScaleX 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 usu = (From p In bd.usuarios Select p Where p.idUsuario = idUsuario).First Me.DataContext = usu Return tsUtilidades.EstadosAplicacion.ModificandoRegistro End Function Public Overrides Function ObtieneBD() As tsUtilidades.ItsContexto bd = tscGrupoSanchoToro.NuevoContexto Return bd End Function Public Overrides Function ObtienePermisos() As tsUtilidades.Permisos Dim PER = Comun.ObtienePermisos(Me.bd, "AP.ADMINISTRATIVOS", idUsuario) PER.Nuevos = False Return PER End Function End Class