/// <summary> /// metodo para eliminar a un usuario /// </summary> /// <param name="id"></param> private async void eliminarusuario(objUsuario id_usuario) { DialogService dialog = new DialogService(); MetroDialogSettings botones = new MetroDialogSettings(); Encriptacion encriptar = new Encriptacion(); botones.AffirmativeButtonText = StringResources.lblYes; botones.NegativeButtonText = StringResources.lblNo; if (id_usuario != null) { MessageDialogResult resultado = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgDelUsuario, botones, MessageDialogStyle.AffirmativeAndNegative); if (resultado == MessageDialogResult.Affirmative) { bool r = DataManagerControlDocumentos.ContarDocumentos(encriptar.encript(id_usuario.usuario)); if (SelectedItem != null) { // Se manda llamar método para eliminar el usuario de la tabla TBL_USER_DETAILS DataManagerControlDocumentos.Delete_UserDetail(encriptar.encript(id_usuario.usuario)); if (r == true) { //si el usuario tiene documentos await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgPrivilegiosUsuario); Model.DataManager.DeletePrivilegiosUsuario(encriptar.encript(id_usuario.usuario)); Model.DataManager.DeLete_PerfilUsuario(encriptar.encript(id_usuario.usuario)); DataManagerControlDocumentos.DeleteRol_Usuario(encriptar.encript(id_usuario.usuario)); ConstructorVista(); } else { //si el usuario no tiene documentos Model.DataManager.DeletePrivilegiosUsuario(encriptar.encript(id_usuario.usuario)); Model.DataManager.DeLete_PerfilUsuario(encriptar.encript(id_usuario.usuario)); DataManagerControlDocumentos.DeleteRol_Usuario(encriptar.encript(id_usuario.usuario)); DataManagerControlDocumentos.DeleteUsuarios(id_usuario); await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgDeleteUsuario); ConstructorVista(); } } } } }
/// <summary> /// Metodo para guardar los cambios hechos a los datos del usuario /// </summary> private async void guardardatos() { DialogService dialog = new DialogService(); MetroDialogSettings botones = new MetroDialogSettings(); botones.AffirmativeButtonText = StringResources.lblYes; botones.NegativeButtonText = StringResources.lblNo; MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgConfirmacion, botones, MessageDialogStyle.AffirmativeAndNegative); if (result == MessageDialogResult.Affirmative) { //si no se modifico el campo de contraseña pasaremos a guardar los demas datos //pero si se modifico haremos las validaciones correspondientes if (string.IsNullOrEmpty(_contraseña) || string.IsNullOrEmpty(_confirmarContraseña)) { //declaramos el objeto para encriptar el usuario Encriptacion encriptar = new Encriptacion(); //declaramos un objeto de tipo usuarios objUsuario nuevosdatos = new objUsuario(); //pasamos los valores nuevosdatos.usuario = encriptar.encript(_usuario); nuevosdatos.nombre = _nombre; nuevosdatos.password = Contraseña; nuevosdatos.APaterno = _Apaterno; nuevosdatos.AMaterno = _Amaterno; nuevosdatos.Correo = _correo; nuevosdatos.Pathnsf = _patnsf; //datos por default nuevosdatos.usql = "´©³¶´¦³"; nuevosdatos.psql = "´‰“sqrr"; //insertamos los cambios a la BD int DatosUsuarios = DataManagerControlDocumentos.UpdateUsuario(nuevosdatos); //obtenemos los roles que tiene un usuario Usuario Dusuario = new Usuario(); Dusuario.NombreUsuario = nuevosdatos.usuario; //borramos todos los roles que tenga un usuario int borrar = DataManagerControlDocumentos.DeleteRol_Usuario(nuevosdatos.usuario); //agregamos los roles foreach (var item in ListaTotdosRoles) { if (item.selected == true) { Model.ControlDocumentos.Rol ObjRol = new Model.ControlDocumentos.Rol(); //asignamos los valores ObjRol.id_rol = item.id_rol; ObjRol.id_usuario = nuevosdatos.usuario; //insertamos los cambios en la BD int id_rolusuario = DataManagerControlDocumentos.SetRol_Usuario(ObjRol); } } IList RolesUsuario = DataManager.GetRoles(Dusuario.NombreUsuario); Dusuario.Roles = new List <Model.Rol>(); foreach (var item in RolesUsuario) { System.Type tipo = item.GetType(); Model.Rol rol = new Model.Rol(); rol.idRol = (int)tipo.GetProperty("ID_ROL").GetValue(item, null); rol.NombreRol = (string)tipo.GetProperty("NOMBRE_ROL").GetValue(item, null); //los agregamos a la propiedad de roles Dusuario.Roles.Add(rol); } //eliminar todos los registros de perfil y privilegio. DataManager.DeLete_PerfilUsuario(encriptar.encript(_usuario)); DataManager.DeletePrivilegiosUsuario(encriptar.encript(_usuario)); //si el usuario tiene rol de dueño de documento o administrador de CIT if (Module.UsuarioIsRol(Dusuario.Roles, 2) || Module.UsuarioIsRol(Dusuario.Roles, 3)) { Dusuario.PerfilCIT = true; } //si el usuario tiene rol de ingeniero if (Module.UsuarioIsRol(Dusuario.Roles, 4) || Module.UsuarioIsRol(Dusuario.Roles, 5) || Module.UsuarioIsRol(Dusuario.Roles, 6) || Module.UsuarioIsRol(Dusuario.Roles, 7)) { Dusuario.PerfilData = true; Dusuario.PerfilQuotes = true; Dusuario.PerfilRawMaterial = true; Dusuario.PerfilStandarTime = true; Dusuario.PerfilTooling = true; Dusuario.PerfilUserProfile = true; Dusuario.PerfilRGP = true; } //si el usuario tiene rol de administrador de sistema if (Module.UsuarioIsRol(Dusuario.Roles, 1)) { Dusuario.PerfilCIT = true; Dusuario.PerfilData = true; Dusuario.PerfilHelp = true; Dusuario.PerfilQuotes = true; Dusuario.PerfilRawMaterial = true; Dusuario.PerfilStandarTime = true; Dusuario.PerfilTooling = true; Dusuario.PerfilUserProfile = true; Dusuario.PerfilRGP = true; } //agregamos los perfiles y privilegios correspondientes DataManager.Set_PerfilUsuario(Dusuario); DataManager.Set_PrivilegiosUsuario(Dusuario); await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgCambiosRealizados); //obtenemos la ventana anterior var window = Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); if (window != null) { //Cerramos la pantalla actual window.Close(); } } else { //verificamos que la longitud de la contraseña sea mayor o igual que 6 if (_contraseña.Length >= 6) { //verificamos que los campos de contraseña y confirmar contraseña sean iguales if (_contraseña.Equals(_confirmarContraseña)) { //declaramos el objeto con el cual se encripta la contraseña Encriptacion encriptar = new Encriptacion(); //declaramos un objeto de tipo usuarios objUsuario nuevosdatos = new objUsuario(); //pasaremos los valores nuevosdatos.usuario = encriptar.encript(_usuario); nuevosdatos.nombre = _nombre; nuevosdatos.APaterno = _Apaterno; nuevosdatos.AMaterno = _Amaterno; nuevosdatos.Correo = _correo; nuevosdatos.password = encriptar.encript(_contraseña); nuevosdatos.Pathnsf = _patnsf; nuevosdatos.usql = "´©³¶´¦³"; nuevosdatos.psql = "´‰“sqrr"; //insertamos los datos a la BD int datosusuario = DataManagerControlDocumentos.UpdateUsuario(nuevosdatos); Usuario Dusuario = new Usuario(); Dusuario.NombreUsuario = nuevosdatos.usuario; //borramos todos los roles que tenga un usuario int borrar = DataManagerControlDocumentos.DeleteRol_Usuario(nuevosdatos.usuario); foreach (var item in ListaTotdosRoles) { if (item.selected == true) { Model.ControlDocumentos.Rol ObjRol = new Model.ControlDocumentos.Rol(); ObjRol.id_rol = item.id_rol; ObjRol.id_usuario = nuevosdatos.usuario; //le agregamos el rol a cada usuario int id_RolUsuario = DataManagerControlDocumentos.SetRol_Usuario(ObjRol); } } //obtenemos los roles del usuario IList RolesUsuario = DataManager.GetRoles(Dusuario.NombreUsuario); Dusuario.Roles = new List <Model.Rol>(); foreach (var item in RolesUsuario) { System.Type tipo = item.GetType(); Model.Rol rol = new Model.Rol(); rol.idRol = (int)tipo.GetProperty("ID_ROL").GetValue(item, null); rol.NombreRol = (string)tipo.GetProperty("NOMBRE_ROL").GetValue(item, null); //los agregamos a la propiedad de roles Dusuario.Roles.Add(rol); } //borramos el perfil y los privilegios que tenga el usuario DataManager.DeLete_PerfilUsuario(encriptar.encript(_usuario)); DataManager.DeletePrivilegiosUsuario(encriptar.encript(_usuario)); //si el usuario tiene rol de dueño de documento o administrador de CIT if (Module.UsuarioIsRol(Dusuario.Roles, 2) || Module.UsuarioIsRol(Dusuario.Roles, 3)) { Dusuario.PerfilCIT = true; } //si el usuario tiene rol de ingeniero if (Module.UsuarioIsRol(Dusuario.Roles, 4) || Module.UsuarioIsRol(Dusuario.Roles, 5) || Module.UsuarioIsRol(Dusuario.Roles, 6) || Module.UsuarioIsRol(Dusuario.Roles, 7)) { Dusuario.PerfilData = true; Dusuario.PerfilQuotes = true; Dusuario.PerfilRawMaterial = true; Dusuario.PerfilStandarTime = true; Dusuario.PerfilTooling = true; Dusuario.PerfilUserProfile = true; Dusuario.PerfilRGP = true; } //si el usuario tiene rol de administrador if (Module.UsuarioIsRol(Dusuario.Roles, 1)) { Dusuario.PerfilCIT = true; Dusuario.PerfilData = true; Dusuario.PerfilHelp = true; Dusuario.PerfilQuotes = true; Dusuario.PerfilRawMaterial = true; Dusuario.PerfilStandarTime = true; Dusuario.PerfilTooling = true; Dusuario.PerfilUserProfile = true; Dusuario.PerfilRGP = true; } //asignamos los perfiles y los privilegios correspondientes DataManager.Set_PerfilUsuario(Dusuario); DataManager.Set_PrivilegiosUsuario(Dusuario); await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgCambiosRealizados); //obtenemos la ventana anterior var window = Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); if (window != null) { //Cerramos la pantalla actual window.Close(); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaDiferente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaCorta); } } } }