public async Task <bool> login() { Console.WriteLine("Escribe tu usuario:"); string usuario = Console.ReadLine(); Console.WriteLine("Escribe tu contraseña:"); string contrasena = Console.ReadLine(); Encriptacion encriptar = new Encriptacion(); usuario = encriptar.encript(usuario); contrasena = encriptar.encript(contrasena); //Ejecutamos el método para verificar las credenciales, el resultado lo asignamos a un objeto local de tipo Usuario. Usuario usuarioConectado = await DataManager.GetLogin(usuario, contrasena); if (usuarioConectado != null) { if (usuarioConectado.Block) { Console.WriteLine("Tu estas bloqueado, no vas a poder accesar."); return(false); } else { //Obtenemos la fecha del servidor DateTime date_now = DataManagerControlDocumentos.Get_DateTime(); //Ejecutamos el método para desbloquear el sistema, si se venció la fecha final DataManagerControlDocumentos.DesbloquearSistema(date_now); //Obtenemos los detalles del usuario logueado. usuarioConectado.Details = DataManager.GetUserDetails(usuarioConectado.NombreUsuario); //Insertamos el ingreso a la bitácora. DataManager.InserIngresoBitacora(Environment.MachineName, usuarioConectado.Nombre + " " + usuarioConectado.ApellidoPaterno + " " + usuarioConectado.ApellidoMaterno); Console.WriteLine("Hola, soy el Demonio que realizará el trabajo aburrido.\n"); System.Threading.Thread.Sleep(4000); Console.WriteLine("Todo esto con la intención de hacerte felíz\n"); System.Threading.Thread.Sleep(3000); User = usuarioConectado; return(true); } } else { Console.WriteLine("Uusario y/O Contraseña incorrecta"); return(false); } }
/// <summary> /// Método que obtiene la lista de las lecciones aprendidas filtradas por texto y fecha. /// </summary> /// <param name="TextoBuscar"></param> /// <param name="fechaInicial"></param> /// <param name="fechaFinal"></param> /// <returns></returns> public IList GetLeccionesAprendidas(string TextoBuscar, DateTime fechaInicial, DateTime fechaFinal) { Encriptacion encript = new Encriptacion(); TextoBuscar = string.IsNullOrEmpty(TextoBuscar) ? string.Empty : TextoBuscar; string user = encript.encript(TextoBuscar); try { //declaramos la conexion a la BD using (EntitiesUsuario conexion = new EntitiesUsuario()) { //Obtenemos todas las lecciones aprendidas registradas por un usuario var LeccionesAprendidas = (from p in conexion.TBL_LECCIONES_APRENDIDAS where (p.ID_USUARIO.Contains(user) || p.DESCRIPCION_PROBLEMA.Contains(TextoBuscar) || p.COMPONENTE.Contains(TextoBuscar) || p.REPORTADO_POR.Contains(TextoBuscar)) && p.FECHA_ACTUALIZACION >= fechaInicial && p.FECHA_ACTUALIZACION <= fechaFinal orderby p.FECHA_ACTUALIZACION descending select p).ToList(); //retornamos la lista return(LeccionesAprendidas); } } catch (Exception) { //si existe error retornamos nulo return(null); } }
/// <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(); } } } } }
public ModificarDatosUsuario(objUsuario SelectedItem) { //Asiganmos los valores para que se muestren if (SelectedItem != null) { usuario = SelectedItem.usuario; nombre = SelectedItem.nombre; Contraseña = SelectedItem.password; Apaterno = SelectedItem.APaterno; Amaterno = SelectedItem.AMaterno; correo = SelectedItem.Correo; if (string.IsNullOrEmpty(SelectedItem.Pathnsf)) { patnsf = ""; } else { patnsf = SelectedItem.Pathnsf; } ListaTotdosRoles = DataManagerControlDocumentos.GetRol(); Encriptacion encriptar = new Encriptacion(); string user = encriptar.encript(SelectedItem.usuario); ListaRol = DataManagerControlDocumentos.GetRol_Usuario(user); //muestra los roles que el usuario tenga foreach (var item in ListaTotdosRoles) { if (existe(item.id_rol, ListaRol)) { item.selected = true; } } } }
/// <summary> /// Método para guardar la nueva información /// </summary> public async void guardardatosnvacontrasenia() { //Incializamos los servicios de dialog. DialogService dialog = new DialogService(); //Declaramos un objeto con el cual se realiza la encriptación Encriptacion encriptar = new Encriptacion(); if (!string.IsNullOrEmpty(Contraseña) && !string.IsNullOrEmpty(ConfirmarContraseña)) { // Validamos la longuitud de la contraseña if (Contraseña.Length >= 7 && ConfirmarContraseña.Length >= 7) { // Validamos que sean iguales if (Contraseña == ConfirmarContraseña) { // Validamos que la contraseña nueva sea diferente a la anterior if (ConfirmarContraseña != encriptar.desencript(User.Password)) { // Actualizamos el registro de la contraseña en la tabla Usuarios DataManagerControlDocumentos.UpdatePass(User.NombreUsuario, encriptar.encript(Contraseña)); // Declaramos el valor a 0 bool temporal_password = false; // Actualizar el valor de temporal password DataManager.Update_TemporalPassword(User.NombreUsuario, temporal_password); //Obtenemos la pantalla actual, y casteamos para que se tome como tipo MetroWindow. var window = System.Windows.Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); // Cambiamos la variable a verdadero CierrePantalla = true; //Mensaje de que la contrase;a se guardo correctamente await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaGuardada); //Verificamos que la pantalla sea diferente de nulo if (window != null) { //Cerramos la pantalla window.Close(); } } else { //Mensaje para notificar que la contraseña no debe de ser igual a la anterior. await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaNoValida); } } else { // Mensaje para notificar que las constraseñas no coinciden. await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaActualDiferente); } } else { // Mensaje para notificar que las constraseñas necesita más carácteres. await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgErrorContraseña); //msgErrorContraseña } } else { // Mensaje para notificar que las constraseñas necesita más carácteres await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgErrorContraseña); //msgErrorContraseña } }
/// <summary> /// Constructor para eliminar o modificar una lección /// </summary> /// <param name="SelectedLeccion"></param> public ModificarLeccionVM(LeccionesAprendidas SelectedLeccion, Usuario ModelUsuario) { AuxLeccionSeleccionada = SelectedLeccion; User = ModelUsuario; //verificamos que se haya seleccionado una leccion if (SelectedLeccion != null) { if (Module.UsuarioIsRol(User.Roles, 2)) { BttnEnabled = true; } CreateMenuItems(); ListaCentrosDeTrabajoSeleccionados = new ObservableCollection <CentrosTrabajo>(); User = ModelUsuario; //asignamos los valores a los botones IsEnabled = false; Encriptacion ecr = new Encriptacion(); //obtenemos los usuarios ListaUsuarios = DataManagerControlDocumentos.GetUsuarios(); //Obtenemos los centros de trabajo que esten relacionados con la lección aprendida ListaCentrosDeTrabajoSeleccionados = DataManagerControlDocumentos.GetCentrosDetrabajoLecciones(SelectedLeccion.ID_LECCIONES_APRENDIDAS); //Obtenemos los tipos de cambio que esten relacionados con la leccion aprendida ListaTipoCambioLeccion = DataManagerControlDocumentos.GetTipoCambioLecciones(SelectedLeccion.ID_LECCIONES_APRENDIDAS); //Obtenemos todos los centros de trabajo ListaCentrosDeTrabajo = DataManagerControlDocumentos.GetCentrosDeTrabajo(""); //Obtenemos el motivo del cambio de la lección. MotivoCambio = DataManagerControlDocumentos.GetMotivoCambioByLeccion(SelectedLeccion.ID_LECCIONES_APRENDIDAS); //Si no tiene motivo registrado se le asigna un N/A MotivoCambio = string.IsNullOrEmpty(MotivoCambio) ? "N/A" : MotivoCambio; //Obtenemos todos los tipos de cambio ListaNivelesDeCambio = DataManagerControlDocumentos.GetNivelesDeCambio(); // foreach (var item in ListaCentrosDeTrabajo) { if (ExisteCentroDeTrabajo(item.CentroTrabajo, ListaCentrosDeTrabajoSeleccionados)) { item.IsSelected = true; } } // foreach (var item in ListaNivelesDeCambio) { if (ExisteNivelDeCambio(item.ID_TIPOCAMBIO, ListaTipoCambioLeccion)) { item.IsSelected = true; } } //verificamos que el usuario sea administrador del sistema if (Module.UsuarioIsRol(User.Roles, 2)) { IsEnabled = true; } //mostramos los valores de la leccion id_leccion = SelectedLeccion.ID_LECCIONES_APRENDIDAS; usuarioAutorizo = ecr.encript(SelectedLeccion.ID_USUARIO); AuxUsuarioAutorizo = ModelUsuario.NombreUsuario; CAMBIO_REQUERIDO = SelectedLeccion.CAMBIO_REQUERIDO; COMPONENTE = SelectedLeccion.COMPONENTE; REPORTADO_POR = SelectedLeccion.REPORTADO_POR; FECHA_ULTIMO_CAMBIO = SelectedLeccion.FECHA_ULTIMO_CAMBIO; FECHA_ACTUALIZACION = SelectedLeccion.FECHA_ACTUALIZACION; DESCRIPCION_PROBLEMA = SelectedLeccion.DESCRIPCION_PROBLEMA; SOLICITUD_TRABAJO_DE_ING = SelectedLeccion.SOLICITUD_DE_TRABAJO; //obtenemos la lista de las lecciones aprendidas ListaDocumentos = DataManagerControlDocumentos.GetArchivosLecciones(SelectedLeccion.ID_LECCIONES_APRENDIDAS); //asignamos una imagen dependiendo de la extencion del archivo foreach (var item in ListaDocumentos) { if (item.EXT == ".pdf") { item.rutaIcono = @"/Images/p.png"; } else if (item.EXT == ".doc" || item.EXT == ".DOC") { item.rutaIcono = @"/Images/w.png"; } else if (item.EXT == ".xlsx") { item.rutaIcono = @"/Images/E.jpg"; } else if (item.EXT == ".pptx") { item.rutaIcono = @"/Images/PP.png"; } else { item.rutaIcono = @"/Images/I.png"; } } } }
/// <summary> /// metodo que obtiene la lista de usuarios con sus respectivos roles /// para mostrarlos en la vista /// </summary> private void ConstructorVista() { Encriptacion encriptar = new Encriptacion(); //obtenemos la lista de usuarios ListaUsuarios = DataManagerControlDocumentos.GetUsuarios(""); if (_ListaUsuarios.Count > 0) { foreach (var item in ListaUsuarios) { //obtiene el id del rol que tiene cada usuario ObservableCollection <Rol> listaRolUsuario = (DataManagerControlDocumentos.GetRol_Usuario(encriptar.encript(item.usuario))); //mandamos llamar una funcion que nos ayudara a obtener el nombre de los roles en base al nombre del usuario item.roles = tipo_rol(listaRolUsuario); } } }
/// <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); } } } }
public async void guardarUsuario() { //Incializamos los servicios de dialog. DialogService dialog = new DialogService(); //Declaramos un objeto de tipo MetroDialogSettings al cual le asignamos las propiedades que contendra el mensaje modal. MetroDialogSettings setting = new MetroDialogSettings(); setting.AffirmativeButtonText = StringResources.lblYes; setting.NegativeButtonText = StringResources.lblNo; //Ejecutamos el método para mostrar el mensaje. El resultado lo asignamos a una variable local. MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgConfirmacion, setting, MessageDialogStyle.AffirmativeAndNegative); if (result == MessageDialogResult.Affirmative) { //Valida que los campos no estén vacíos. if (Validar() & ValidarSelected()) { // Asignamos el valor de la constraseña random _contraseña = this.GenerarPasswordAleatoria(); if (_contraseña.Length >= 6) { //Declaramos un objeto con el cual se realiza la encriptación Encriptacion encriptar = new Encriptacion(); //Declaramos un objeto de tipo usuarios objUsuario objUsuario = new objUsuario(); //Asignamos los valores al objeto objUsuario.usuario = encriptar.encript(_usuario); objUsuario.nombre = _nombre; objUsuario.APaterno = _aPaterno; objUsuario.AMaterno = _aMaterno; objUsuario.password = encriptar.encript(_contraseña); objUsuario.Correo = Correo; objUsuario.Pathnsf = ""; //datos por default objUsuario.usql = "´©³¶´¦³"; objUsuario.psql = "´‰“sqrr"; //Valida que el nombre de usuario no se repita string validate = DataManagerControlDocumentos.ValidateUsuario(objUsuario); //si no se repite if (validate == null) { // Nos aseguramos que sean iguales _confirmarContraseña = _contraseña; //si las contraseñas son iguales if (_contraseña.Equals(_confirmarContraseña)) { //ejecutamos el método para insertar un registro a la tabla string usuario = DataManagerControlDocumentos.SetUsuario(objUsuario); // Declaramos la ruta para asignarle una foto de usuario por default string url_foto = @"\\MXAGSQLSRV01\documents__\ESPECIFICOS\img\defaultuser.jpg"; // Declaramos valor para el campo bool is_available_email = true; bool temporal_password = true; // Ejecutamos el método para insertar los registros a la tabla TBL_USER_DETAILS DataManagerControlDocumentos.Insert_UserDetail(objUsuario.usuario, url_foto, is_available_email, temporal_password); Usuario _usuario = new Usuario(); _usuario.NombreUsuario = usuario; //si el usuario es diferente de vacío if (usuario != string.Empty) { //Recorremos la lista de roles foreach (var item in _listaRol) { //si el rol fue seleccionado if (item.selected == true) { Model.ControlDocumentos.Rol objRol = new Model.ControlDocumentos.Rol(); objRol.id_rol = item.id_rol; objRol.id_usuario = usuario; //Agregamos el rol de cada usuario int id_rolUsuario = DataManagerControlDocumentos.SetRol_Usuario(objRol); } } //Obtenemos los roles del usuario nuevo IList Roles = DataManager.GetRoles(_usuario.NombreUsuario); _usuario.Roles = new List <Model.Rol>(); foreach (var item in Roles) { 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 _usuario.Roles.Add(rol); } //si el usuario tiene rol de administrador de CIT o dueño de documento if (Module.UsuarioIsRol(_usuario.Roles, 2) || Module.UsuarioIsRol(_usuario.Roles, 3)) { //usuario es admin del cit o dueño del documento _usuario.PerfilCIT = true; } //si el usuario tiene rol de ingeniero if (Module.UsuarioIsRol(_usuario.Roles, 4) || Module.UsuarioIsRol(_usuario.Roles, 5) || Module.UsuarioIsRol(_usuario.Roles, 6) || Module.UsuarioIsRol(_usuario.Roles, 7)) { //usuario tiene rol de ingeniero _usuario.PerfilUserProfile = true; _usuario.PerfilData = true; _usuario.PerfilQuotes = true; _usuario.PerfilRawMaterial = true; _usuario.PerfilStandarTime = true; _usuario.PerfilTooling = true; _usuario.PerfilRGP = true; } //si el usuario tiene rol de administrador del sistema if (Module.UsuarioIsRol(_usuario.Roles, 1)) { //Es administrador _usuario.PerfilCIT = true; _usuario.PerfilData = true; _usuario.PerfilHelp = true; _usuario.PerfilQuotes = true; _usuario.PerfilRawMaterial = true; _usuario.PerfilStandarTime = true; _usuario.PerfilTooling = true; _usuario.PerfilUserProfile = true; _usuario.PerfilRGP = true; } //agregamos los perfiles y privilegios correspondientes DataManager.Set_PerfilUsuario(_usuario); DataManager.Set_PrivilegiosUsuario(_usuario); //se muestra un mensaje de cambios realizados. await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioAlta); //Obtenemos la ventana actual. var window = Application.Current.Windows.OfType <MetroWindow>().LastOrDefault(); //Verificamos que la pantalla sea diferente de nulo. if (window != null) { //Cerramos la pantalla window.Close(); } // Declaramos el cuerpo y título del correo string title = "Tu usuario ha sido creado"; string body = ""; // Declaramos lista vacía para el parámetro ObservableCollection <Archivo> ListaVacia = new ObservableCollection <Archivo>(); // Declaramos el objeto Usuario UserCreated = new Usuario(); // Obtenemos el nuevo usuario creado UserCreated = DataManager.GetUsuario(objUsuario.usuario); // Declaramos lista para guardar el nuevo usuario List <objUsuario> ListaUserCreated = new List <objUsuario>(); objUsuario userCreado = new objUsuario(); // Igualamos valores userCreado.Correo = UserCreated.Correo; userCreado.nombre = UserCreated.Nombre; userCreado.APaterno = UserCreated.ApellidoPaterno; userCreado.AMaterno = UserCreated.ApellidoMaterno; userCreado.Details = UserCreated.Details; ListaUserCreated.Add(userCreado); // Cargamos el cuerpo del correo body = "<P> Le envío su usuario y contraseña:</P>"; body += "<P><STRONG> Usuario:</STRONG> " + encriptar.desencript(_usuario.NombreUsuario) + "</P>"; body += "<P><STRONG> Contraseña:</STRONG> " + _contraseña + "</P>"; body += "<P> Favor de respetar minúsculas y mayúsculas.</P>"; body += "<P> Para el acceso a la plataforma, favor de ingresar a la siguiente ruta:</P>"; body += "<P><STRONG> TodosP/R@aul/Deploy</STRONG></P>"; body += "<P> En dicha carpeta se encuentra un archivo llamado View.exe. Favor de ejecutarlo.</P>"; // Abrimos ventana para notificar NotificarAViewModel vmNotificar = new NotificarAViewModel(User, body, ListaVacia, ListaUserCreated, title, "ALTA_USUARIO", 0); WNotificarA ventanaCorreo = new WNotificarA(); ventanaCorreo.DataContext = vmNotificar; ventanaCorreo.ShowDialog(); } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioAltaError); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaDiferente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgUsuarioExistente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaCorta); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgFillFlields); } } }
/// <summary> /// metodo para modificar la contraseña /// </summary> private async void modificar() { //Incializamos los servicios de dialog. DialogService dialog = new DialogService(); //Declaramos un objeto de tipo MetroDialogSettings al cual le asignamos las propiedades que contendra el mensaje modal. MetroDialogSettings setting = new MetroDialogSettings(); setting.AffirmativeButtonText = StringResources.lblYes; setting.NegativeButtonText = StringResources.lblNo; //Ejecutamos el método para mostrar el mensaje. El resultado lo asignamos a una variable local. MessageDialogResult result = await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgConfirmacion, setting, MessageDialogStyle.AffirmativeAndNegative); if (result == MessageDialogResult.Affirmative) { //mandamos llamar el metodo que valida que ningun campo este vacio if (Valida()) { if (confimarContraseña.Length >= 6 && _contraseñaActual.Length >= 6 && nuevaContraseña.Length >= 6) { string pass = encriptar.desencript(DataManagerControlDocumentos.GetPass(user.NombreUsuario)); if (pass.Equals(_contraseñaActual)) { if (nuevaContraseña.Equals(confimarContraseña)) { string passEncrip = encriptar.encript(nuevaContraseña); int update = DataManagerControlDocumentos.UpdatePass(user.NombreUsuario, passEncrip); if (update != 0) { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaModificada); } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaModificadaError); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaDiferente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaActualDiferente); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgContraseñaCorta); } } else { await dialog.SendMessage(StringResources.ttlAlerta, StringResources.msgFillFlields); } } }