Ejemplo n.º 1
0
        public bool IniciarSesion(string userName, string userPassword, bool desconectado)
        {
            try
            {

                if (desconectado)
                {
                    Usuario user = usuarioDAO.TraerUsuarioConfig(userName);

                    if (user != null && GestorHash.ObtenerInstancia().VerificarPasswordHash(userPassword, user.Clave))
                    {

                        this.Usuario = user;
                        return true;
                    }
                    else
                    {
                        return false;
                    }
                }

                return false;

            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
 public bool ActualizarUsuario(Usuario usuario)
 {
     try
     {
         return securityDAO.ActualizarUsuario(usuario);
     }
     catch (Exception)
     {
         throw;
     }
 }
Ejemplo n.º 3
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario usuario = new Usuario();
                usuario.Nombre = txtUsuario.Text;
                usuario.Clave = GestorHash.ObtenerInstancia().HashPassword(txtClave.Text);
                usuario.Idioma = (Idioma)cboIdioma.SelectedItem;
                usuario.Perfil = (PermisoBase)cboPerfil.SelectedItem;
                usuario.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(usuario);

                bool resultado = false;

                if (Operacion == Accion.Alta)
                {
                    resultado = GestorUsuario.ObtenerInstancia().CrearUsuario(usuario);
                }
                else if (Operacion == Accion.Modificacion)
                {
                    resultado = GestorUsuario.ObtenerInstancia().ActualizarUsuario(usuario);
                }

                if(resultado)
                {
                    if (GestorBD.ObtenerInstancia().ActualizarDVV("USUARIO"))
                    {
                        MessageBox.Show("El usuario se ha creado/modificado correctamente.", "Gestión de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        HabilitarControles(true);
                        this.gbDatosUsuario.Enabled = false;
                        LimpiarControles();
                        CargarUsuarios();
                    }
                }

            }
            catch (Exception ex)
            {

                string mensajeError = string.Empty;

                if (this.Operacion == Accion.Alta)
                {
                    mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.AltaUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma());
                }
                else
                {
                    mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.ModificacionUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma());
                }

                MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 4
0
        public bool ActualizarUsuario(Usuario usuario)
        {
            try
            {
                int filasAfectadas = 0;

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {
                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.CommandText = "SPU_Usuario";
                        comando.Parameters.Add(new SqlParameter("@Id_Usuario", usuario.Nombre));
                        comando.Parameters.Add(new SqlParameter("@Clave", usuario.Clave));
                        comando.Parameters.Add(new SqlParameter("@Perfil", usuario.Perfil.ID));
                        comando.Parameters.Add(new SqlParameter("@Idioma", usuario.Idioma.ID));
                        comando.Parameters.Add(new SqlParameter("@DVH", usuario.DVH));

                        comando.Connection.Open();

                        filasAfectadas = comando.ExecuteNonQuery();

                    }
                }

                if (filasAfectadas > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
            catch (AccesoBDException ex)
            {
                throw new SecurityDAOException("ActualizarUsuario", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new SecurityDAOException("ActualizarUsuario", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new SecurityDAOException("ActualizarUsuario", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
Ejemplo n.º 5
0
        public bool CambiarIdioma(Idioma idioma, Usuario usuario)
        {
            try
            {

                usuario.Idioma = idioma;
                usuario.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(usuario);

                return securityDAO.ActualizarUsuario(usuario);

            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 6
0
        public string GenerarHashDatos(Usuario usuario)
        {
            try
            {
                byte[] bytesDatos;

                UnicodeEncoding ue = new UnicodeEncoding();
                HashAlgorithm hash = HashAlgorithm.Create("SHA256");

                byte[] bytesUsuario = ue.GetBytes(usuario.Nombre);
                byte[] bytesClave = ue.GetBytes(usuario.Clave);
                byte[] bytesPerfil = BitConverter.GetBytes(usuario.Perfil.ID);
                byte[] bytesIdioma = ue.GetBytes(usuario.Idioma.ID);

                bytesDatos = new byte[bytesUsuario.Length + bytesClave.Length + bytesPerfil.Length + bytesIdioma.Length];
                bytesUsuario.CopyTo(bytesDatos, 0);
                bytesClave.CopyTo(bytesDatos, bytesUsuario.Length);
                bytesPerfil.CopyTo(bytesDatos, bytesClave.Length);
                bytesIdioma.CopyTo(bytesDatos, bytesPerfil.Length);

                byte[] bytesHash = hash.ComputeHash(bytesDatos);

                string hashDatos = "";

                foreach (byte hexdigit in bytesHash)
                {
                    hashDatos += hexdigit.ToString("X2", CultureInfo.InvariantCulture.NumberFormat);
                }

                return hashDatos;

            }
            catch (Exception ex)
            {
                throw new GestorHashException("GenerarHashDatos", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
Ejemplo n.º 7
0
        public bool IniciarSesion(string userName, string userPassword)
        {
            try
            {

                Usuario user = usuarioDAO.TraerUsuario(userName);

                if (user != null && GestorHash.ObtenerInstancia().VerificarPasswordHash(userPassword, user.Clave))
                {

                    this.Usuario = user;
                    return true;
                }
                else
                {
                    throw new LoginFallidoException("Usuario o Password incorrecto.");
                }

            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 8
0
        public List<Bitacora> ConsultarBitacora(string tipo, DateTime fecha, Usuario usuario)
        {
            List<Bitacora> registrosBitacora = null;

            try
            {
                registrosBitacora = bitacoraDAO.ConsultarBitacora(tipo, fecha, usuario);

                return registrosBitacora;
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 9
0
        public List<Usuario> TraerTodosUsuarios()
        {
            try
            {
                List<Usuario> usuarios = new List<Usuario>();
                Usuario usuario = null;

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {

                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.CommandText = "SPS_Usuario_Todos";

                        comando.Connection.Open();

                        SqlDataReader dataReader = comando.ExecuteReader(CommandBehavior.CloseConnection);

                        while (dataReader.Read())
                        {
                            usuario = new Usuario();

                            usuario.Nombre = dataReader["ID_USUARIO"].ToString();
                            usuario.Clave = dataReader["CLAVE"].ToString();
                            usuario.Perfil = TraerPermiso(Convert.ToInt16(dataReader["PERFIL"]));
                            usuario.Idioma = TraerIdioma(dataReader["IDIOMA"].ToString());
                            usuario.DVH = dataReader["DVH"].ToString();

                            usuarios.Add(usuario);
                        }
                    }

                }

                return usuarios;

            }
            catch (AccesoBDException ex)
            {
                throw new SecurityDAOException("TraerTodosUsuarios", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new SecurityDAOException("TraerTodosUsuarios", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new SecurityDAOException("TraerTodosUsuarios", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
Ejemplo n.º 10
0
        public Usuario TraerUsuarioConfig(string nombreUsuario)
        {
            try
            {
                Usuario usuario = new Usuario();

                usuario.Nombre = ConfigurationManager.AppSettings["UsuarioEmergencia"].ToString();
                usuario.Clave = ConfigurationManager.AppSettings["PasswordEmergencia"].ToString();

                if (usuario.Nombre.Equals(nombreUsuario))
                {
                    return usuario;
                }
                else
                {
                    return null;
                }
            }
            catch (AccesoBDException ex)
            {
                throw new SecurityDAOException("TraerUsuarioConfig", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new SecurityDAOException("TraerUsuarioConfig", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new SecurityDAOException("TraerUsuarioConfig", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
Ejemplo n.º 11
0
 public bool CrearUsuario(Usuario usuario)
 {
     try
     {
         return securityDAO.InsertarUsuario(usuario);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 12
0
 public bool EliminarUsuario(Usuario usuario)
 {
     try
     {
         return securityDAO.EliminarUsuario(usuario);
     }
     catch (Exception)
     {
         throw;
     }
 }
Ejemplo n.º 13
0
        private void btnBaja_Click(object sender, EventArgs e)
        {
            try
            {

                if (gridUsuarios.SelectedRows.Count != 0)
                {

                    DataGridViewRow row = this.gridUsuarios.SelectedRows[0];
                    this.cboIdioma.SelectedValue = row.Cells["Idioma"].Value.ToString();
                    this.cboPerfil.SelectedValue = row.Cells["Perfil"].Value.ToString();

                    Usuario usuario = new Usuario();
                    usuario.Nombre = row.Cells["Nombre"].Value.ToString();

                    usuario.Idioma = (Idioma)this.cboIdioma.SelectedItem;
                    usuario.Perfil = (PermisoBase)this.cboPerfil.SelectedItem;

                    DialogResult dialogo = MessageBox.Show("¿Desea eliminar definitivamente al usuario " + usuario.Nombre + "?", "Baja de Usuario", MessageBoxButtons.YesNo);

                    if (dialogo == DialogResult.Yes)
                    {
                        if (GestorUsuario.ObtenerInstancia().EliminarUsuario(usuario))
                        {

                            if (GestorBD.ObtenerInstancia().ActualizarDVV("USUARIO"))
                            {
                                MessageBox.Show("El usuario se ha eliminado correctamente", "Baja de Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                CargarUsuarios();
                            }

                        }
                    }
                }

            }
            catch (Exception ex)
            {
                string mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.BajaUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma());
                MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Ejemplo n.º 14
0
 public void CerrarSesion()
 {
     this.Usuario = null;
 }
Ejemplo n.º 15
0
        public void RecargarUsuario()
        {
            try
            {

                Usuario user = usuarioDAO.TraerUsuario(Usuario.Nombre);

                Usuario = user;

            }
            catch (Exception)
            {

                throw;
            }
        }