Files
SanchoToro/GestionGrupoSanchoToro/ucCambioContrasenna.xaml.vb
2026-01-23 12:45:41 +01:00

116 lines
4.2 KiB
VB.net

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