Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        /// <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);
            }
        }
Ejemplo n.º 3
0
        /// <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";
                    }
                }
            }
        }
Ejemplo n.º 7
0
        /// <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);
                    }
                }
            }
        }
Ejemplo n.º 9
0
        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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Le envío su usuario y contraseña:</P>";
                                    body += "<P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usuario:</STRONG> " + encriptar.desencript(_usuario.NombreUsuario) + "</P>";
                                    body += "<P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contraseña:</STRONG> " + _contraseña + "</P>";
                                    body += "<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Favor de respetar minúsculas y mayúsculas.</P>";
                                    body += "<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Para el acceso a la plataforma, favor de ingresar a la siguiente ruta:</P>";
                                    body += "<P><STRONG>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TodosP/R@aul/Deploy</STRONG></P>";
                                    body += "<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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);
                }
            }
        }
Ejemplo n.º 10
0
        /// <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);
                }
            }
        }