예제 #1
0
 private void comprobarContrasenna()
 {
     try
     {
         string cedula                = textBoxDeCedula.Text;
         string contrasenna           = textBoxDeContrasena.Text;
         string contrasennaEncriptada = encriptarClaveAsha256(contrasenna);
         contrasennaEncriptada = contrasennaEncriptada.Substring(0, 24);
         if (numeroDeIntentos <= 2)
         {
             if (validarTextBox())
             {
                 var conexion = AbrirBaseDeDatos();
                 var comando  = conexion.GetStoredProcCommand("EMPLEADO_INICIO_SESION_PRUEBA", cedula, contrasennaEncriptada);
                 //var comando = conexion.GetStoredProcCommand("ADMINISTRADOR_INICIO_SESION", cedula, contrasennaEncriptada);
                 using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando))
                 {
                     if (informacionEncontrada.Read())
                     {
                         var comando02 = conexion.GetStoredProcCommand("SACAR_INFORMACION_DE_EMPLEADO", cedula);
                         using (IDataReader informacionEncontrada02 = conexion.ExecuteReader(comando02))
                         {
                             if (informacionEncontrada02.Read())
                             {
                                 iniciarSesion();
                             }
                             else
                             {
                                 numeroDeIntentos = numeroDeIntentos + 1;
                                 MessageBox.Show("No se encontraron datos al iniciar sesión"
                                                 , "Inicio de Sesión", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                 AdministradorInicioDeSesion administrador = new AdministradorInicioDeSesion();
                                 this.Hide();
                                 administrador.Show();
                             }
                         }
                     }
                     else
                     {
                         numeroDeIntentos = numeroDeIntentos + 1;
                         if (numeroDeIntentos < 3)
                         {
                             MessageBox.Show("Cédula o contraseña incorrectas, por favor revisar credenciales"
                                             , "Inicio de Sesión", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         }
                         else
                         {
                             MessageBox.Show("Ha fallado tres veces el inicio de sesión, por favor revise cédula o restablezca contraseña"
                                             , "Inicio de Sesión", MessageBoxButtons.OK, MessageBoxIcon.Error);
                             numeroDeIntentos = 0;
                         }
                     }
                 }
             }
         }
         else
         {
             numeroDeIntentos = 0;
             MessageBox.Show("Ha fallado tres veces el inicio de sesión, por favor revise cédula o restablezca contraseña"
                             , "Inicio de Sesión", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     catch (Exception ex)
     {
         string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name;
         registrarError(ex, metodoYclase);
     }
 }
예제 #2
0
        private void iniciarSesion()
        {
            try
            {
                string cedula   = textBoxDeCedula.Text;
                var    conexion = AbrirBaseDeDatos();
                var    comando  = conexion.GetStoredProcCommand("SACAR_INFORMACION_DE_EMPLEADO", cedula);
                using (IDataReader informacionEncontrada = conexion.ExecuteReader(comando))
                {
                    if (informacionEncontrada.Read())
                    {
                        Empleado.Cedula                    = cedula;
                        Empleado.Nombre                    = informacionEncontrada["NOMBRE"].ToString();
                        Empleado.Horario                   = informacionEncontrada["HORARIO"].ToString();
                        Empleado.Tiempo                    = informacionEncontrada["TIEMPO"].ToString();
                        Empleado.FechaDeNacimiento         = DateTime.Parse(informacionEncontrada["FECHA_NAC"].ToString());
                        Empleado.Salario                   = decimal.Parse(informacionEncontrada["SALARIO"].ToString());
                        Empleado.SalarioPorHora            = decimal.Parse(informacionEncontrada["SALARIO_HORA"].ToString());
                        Empleado.Puesto                    = informacionEncontrada["PUESTO"].ToString();
                        Empleado.Correo                    = informacionEncontrada["CORREO"].ToString();
                        Empleado.Contrasena                = informacionEncontrada["CONTRASENNA"].ToString();
                        Empleado.CantidadDeDiasDisponibles = int.Parse(informacionEncontrada["DIAS_LIBRES"].ToString());
                        Empleado.Rol = int.Parse(informacionEncontrada["FK_ROL"].ToString());

                        if (Empleado.Rol == 1)
                        {
                            MenuDeAdministrador menuDeAdministrador = new MenuDeAdministrador();
                            this.Hide();
                            menuDeAdministrador.Show();
                            string evento = "El administrador: " + Empleado.Nombre + "; ha iniciado sesión.";
                            registrarEvento(evento,
                                            this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name);
                        }
                        else if (Empleado.Rol == 2)
                        {
                            MenuDeEmpleado menuDeEmpleado = new MenuDeEmpleado();
                            this.Hide();
                            menuDeEmpleado.Show();
                            string evento02 = "El empleado: " + Empleado.Nombre + "; ha iniciado sesión";
                            registrarEvento(evento02,
                                            this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name);
                        }

                        //generarCorreoNotificacionDias();

                        //string evento = "El administrador: " + Empleado.Nombre + "; ha iniciado sesión";
                        //registrarEvento(evento,
                        //    this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name);

                        //MenuDeAdministrador menu = new MenuDeAdministrador();
                        //this.Hide();
                        //menu.Show();
                    }
                    else
                    {
                        MessageBox.Show("No se encontraron datos al iniciar sesión."
                                        , "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        AdministradorInicioDeSesion administrador = new AdministradorInicioDeSesion();
                        this.Hide();
                        administrador.Show();
                    }
                }
            }
            catch (Exception ex)
            {
                string metodoYclase = this.GetType().Name + ", " + System.Reflection.MethodBase.GetCurrentMethod().Name;
                registrarError(ex, metodoYclase);
            }
        }