示例#1
0
 /*
  *  --> BOTON MODIFICAR USUARIOS
  */
 private void btnRegistroUsuariosNuevos_Click(object sender, EventArgs e)
 {
     if (txtIdUsuarios.Text.Length == 0 || txtP1Nombre.Text.Length == 0 || txtA1Apellido.Text.Length == 0 ||
         txtNombreUsuario.Text.Length == 0 || txtPassword.Text.Length == 0 || cbxRolesUsuarios.Text == "- Seleccione un rol...")
     {
         // MOSTRANDO VENTANA EMERGENTE DE ADVERTENCIA
         Form LlamadaAdvertencia = new MensajeErrorCamposVacios();
         LlamadaAdvertencia.Show();
         // LLAMADA DE NOTIFICACION PERSONALIZADA DE ADVERTENCIA
         Llamada.NotificionAdvertencia();
     }
     else
     {
         // SI CUMPLE CONDICION ANTERIOR, E INSERCION ES EXITOSA... ENTONCES
         try
         {
             // BUSQUEDA DE REGISTROS DUPLICADOS PREVIO A INSERCION DE NUEVOS REGISTROS
             SqlCommand Comunicacion = new SqlCommand("SELECT Nombre_Usuario FROM Usuarios WHERE Nombre_Usuario = @Nombre_Usuario", Controlador.Conexiones());
             Comunicacion.Parameters.AddWithValue("Nombre_Usuario", txtNombreUsuario.Text);  // NOMBRE DE USUARIO
             SqlDataAdapter AdaptadorSQL = new SqlDataAdapter(Comunicacion);
             DataTable      DatosDB      = new DataTable();
             AdaptadorSQL.Fill(DatosDB);
             // SI EXISTE AL MENOS UN REGISTRO EN LA BUSQUEDA, ENTONCES...
             if (DatosDB.Rows.Count == 1)
             {
                 // LLAMADA DE VENTANA EMERGENTE -> ERROR INSERTAR REGISTROS DUPLICADOS
                 Form TareaRechazada = new MensajeErrorDuplicados();
                 TareaRechazada.Show();
                 // LLAMADA DE NOTIFICACION PERSONALIZADA DE ERROR
                 Llamada.NotificionErrorDuplicado();
             }
             else if (DatosDB.Rows.Count == 0)
             {
                 try
                 {
                     using (SqlCommand comando = new SqlCommand("sp_ModificarUsuarios", Controlador.Conexiones()))
                     {
                         comando.CommandType = CommandType.StoredProcedure;
                         comando.Parameters.Add(new SqlParameter("@ID_Usuario", txtIdUsuarios.Text));                    // ID DE USUARIO
                         comando.Parameters.Add(new SqlParameter("@Nombre", txtP1Nombre.Text));                          // PRIMER NOMBRE DE USUARIO
                         comando.Parameters.Add(new SqlParameter("@Apellido", txtA1Apellido.Text));                      // PRIMER APELLIDO DE USUARIO
                         comando.Parameters.Add(new SqlParameter("@Nombre_Usuario", txtNombreUsuario.Text));             // NOMBRE DE USUARIO
                         comando.Parameters.Add(new SqlParameter("@Contrasenia", Encriptar.ToSha512(txtPassword.Text))); // CONTRASEÑA DE USUARIO
                         comando.Parameters.Add(new SqlParameter("@ID_Rol", cbxRolesUsuarios.Text));                     // ROL DE USUARIO
                         comando.ExecuteNonQuery();                                                                      // EJECUTANDO RUTINA
                     }
                     // POR EFECTOS DE SEGURIDAD Y MEJOR CONTROL DEL SISTEMA, ID NO PODRA SER MODIFICADO...
                     if (cbxRolesUsuarios.Text == "- Seleccione un rol...")
                     {
                         // MOSTRANDO VENTANA EMERGENTE DE ADVERTENCIA
                         Form LlamadaAdvertencia = new MensajeErrorCamposVacios();
                         LlamadaAdvertencia.Show();
                         // LLAMADA DE NOTIFICACION PERSONALIZADA DE ADVERTENCIA
                         Llamada.NotificionAdvertencia();
                     }
                     else
                     {
                         // REFRESCANDO VISTA DATAGRIDVIEW
                         DetallesSimplesUsuarios.DataSource = integracion.SelectDataTable("SELECT * FROM vUsuariosRegistrados"); // DATAGRIDVIEW ROLES
                         // LIMPIEZA GENERAL LUEGO DE INSERTAR NUEVO REGISTRO
                         LimpiezaUsuarios();                                                                                     // LLAMADA METODO LIMPIEZA
                         // MOSTRANDO EN PANTALLA PROCESO FINALIZADO CON EXITO
                         Form TareaFinalizada = new MensajeAprobacion();
                         TareaFinalizada.Show();
                         // LLAMADA DE NOTIFICACION PERSONALIZADA DE ADVERTENCIA
                         Llamada.NotificionConfirmacion();
                     }
                 }
                 catch
                 {
                     // LLAMADA DE VENTANA EMERGENTE -> ERROR INSERTAR BASE DE DATOS
                     Form TareaRechazadaDB = new MensajeErrorDB();
                     TareaRechazadaDB.Show();
                     // LLAMADA DE NOTIFICACION PERSONALIZADA DE ERROR
                     Llamada.NotificionError();
                 }
             }
         }
         // SI OCURRE UN ERROR, ENTONCES...
         catch
         {
             // LLAMADA DE VENTANA EMERGENTE -> ERROR ALGO SALIO MAL
             Form TareaRechazada = new MensajeAlgoSalioMal();
             TareaRechazada.Show();
             // LLAMADA DE NOTIFICACION PERSONALIZADA DE ERROR
             Llamada.NotificionErrorDuplicado();
         }
         finally
         {
             Controlador.CierreConexion(); // CIERRE DE CONEXION
         }
     }
 }
        /*
         *  --> METODO INICIO DE SESION
         */

        public void IngresoUsuarios(String UsuarioFC, String ContraseniaFC)  // DONDE FC -> ABREVIATURA FULL CALZADO
        {
            // SI TEXTBOX SE ENCUENTRAN VACIOS, ENTONCES...
            if (this.txtUsuarioLogin.Text == "Ingrese su usuario..." || this.txtPassUsuario.Text == "password" || this.txtUsuarioLogin.Text == "" || this.txtPassUsuario.Text == "")
            {
                Llamada.NotificionAdvertencia();  // NOTIFICACION PERSONALIZADA DE ADVERTENCIA
                // LLAMADA ERROR CAMPOS REQUERIDOS INCOMPLETOS {VACIOS}
                Form LlamadaErrorCampos = new MensajeErrorCamposVacios();
                LlamadaErrorCampos.Show();
            }
            else
            {
                // CASO CONTRARIO, CONEXION EXITOSA Y PROCEDE A VALIDAR INGRESO SEGUN X ROL
                try
                {
                    // SELECCIONANDO NOMBRE DE USUARIO, NOMBRE USUARIO A INGRESAR Y CONTRASEÑA
                    SqlCommand Comunicacion = new SqlCommand("SELECT Nombre, ID_Rol FROM Usuarios WHERE Nombre_Usuario = @nombre_usuario AND Contrasenia = @contrasenia", Controlador.Conexiones());
                    Comunicacion.Parameters.AddWithValue("nombre_usuario", UsuarioFC);                      // NOMBRE DE USUARIO
                    // CONTRASEÑA ENCRIPTADA -> IMPORTANTE, SIN EL METODO DE LLAMADO NO ES POSIBLE <<<HACER COMPARACION>>>
                    Comunicacion.Parameters.AddWithValue("contrasenia", Encriptar.ToSha512(ContraseniaFC)); // CONTRASEÑA
                    SqlDataAdapter AdaptadorSQL = new SqlDataAdapter(Comunicacion);
                    DataTable      DatosDB      = new DataTable();
                    AdaptadorSQL.Fill(DatosDB);
                    // SI EXISTE AL MENOS UN REGISTRO EN LA BUSQUEDA, ENTONCES...
                    if (DatosDB.Rows.Count == 1)
                    {
                        /*
                         *  --> VALIDACION USUARIOS ADMINISTRADORES
                         */
                        this.Hide(); // OCULTA DATOS DE INGRESO
                        if (DatosDB.Rows[0][1].ToString() == "Administrador")
                        {
                            /*
                             *  INVOCANDO PANTALLA DE ESPERA ANTES DE INICIAR LA APLICACION
                             */
                            this.Hide();                                                   // SE OCULTA VENTANA LOGIN PARA MOSTRAR VENTANA DE CARGA
                            BienvenidaUsuarios vistabienvenida = new BienvenidaUsuarios(); // INSTANCIA (OBJETO) CREADO PARA INVOCAR VENTANA
                            vistabienvenida.ShowDialog();                                  // MUESTRA VENTANA TIPO --> VENTANA DE DIALOGO

                            /*
                             *  --> MOSTRANDO PANTALLA DE ADMINISTRACION
                             *      USUARIOS : ADMINISTRADORES
                             */
                            new Administradores(DatosDB.Rows[0][0].ToString()).Show();

                            /*
                             *  --> VALIDACION USUARIOS DEPARTEMENTO DE RECURSOS HUMANOS / GERENCIA
                             */
                        }
                        else if (DatosDB.Rows[0][1].ToString() == "RRHH")
                        {
                            /*
                             *  INVOCANDO PANTALLA DE ESPERA ANTES DE INICIAR LA APLICACION
                             */
                            this.Hide();                                                   // SE OCULTA VENTANA LOGIN PARA MOSTRAR VENTANA DE CARGA
                            BienvenidaUsuarios vistabienvenida = new BienvenidaUsuarios(); // INSTANCIA (OBJETO) CREADO PARA INVOCAR VENTANA
                            vistabienvenida.ShowDialog();                                  // MUESTRA VENTANA TIPO --> VENTANA DE DIALOGO

                            /*
                             *  --> MOSTRANDO PANTALLA DE ADMINISTRACION
                             *      USUARIOS : GERENCIA | DEPARTAMENTO RECURSOS HUMANOS
                             */
                            new RecursosHumanosDpto(DatosDB.Rows[0][0].ToString()).Show();

                            /*
                             *  --> VALIDACION USUARIOS PRESIDENCIA / GERENCIA
                             */
                        }
                        else if (DatosDB.Rows[0][1].ToString() == "Presidencia")
                        {
                            /*
                             *  INVOCANDO PANTALLA DE ESPERA ANTES DE INICIAR LA APLICACION
                             */
                            this.Hide();                                                   // SE OCULTA VENTANA LOGIN PARA MOSTRAR VENTANA DE CARGA
                            BienvenidaUsuarios vistabienvenida = new BienvenidaUsuarios(); // INSTANCIA (OBJETO) CREADO PARA INVOCAR VENTANA
                            vistabienvenida.ShowDialog();                                  // MUESTRA VENTANA TIPO --> VENTANA DE DIALOGO

                            /*
                             *  --> MOSTRANDO PANTALLA DE ADMINISTRACION
                             *      USUARIOS : PRESIDENCIA GERENCIA GENERAL
                             */
                            new PresidenciaAdministracion(DatosDB.Rows[0][0].ToString()).Show();

                            /*
                             *  --> VALIDACION USUARIOS ATENCION AL CLIENTE / EMPLEADOS FULL CALZADO
                             */
                        }
                        else if (DatosDB.Rows[0][1].ToString() == "AtencionClientes")
                        {
                            /*
                             *  INVOCANDO PANTALLA DE ESPERA ANTES DE INICIAR LA APLICACION
                             */
                            this.Hide();                                                   // SE OCULTA VENTANA LOGIN PARA MOSTRAR VENTANA DE CARGA
                            BienvenidaUsuarios vistabienvenida = new BienvenidaUsuarios(); // INSTANCIA (OBJETO) CREADO PARA INVOCAR VENTANA
                            vistabienvenida.ShowDialog();                                  // MUESTRA VENTANA TIPO --> VENTANA DE DIALOGO

                            /*
                             *  --> MOSTRANDO PANTALLA DE ADMINISTRACION
                             *      USUARIOS : EMPLEADOS GENERALES DE ATENCION AL CLIENTE
                             */
                            new AtencionAlClienteFC(DatosDB.Rows[0][0].ToString()).Show();

                            /*
                             *  --> VALIDACION USUARIOS VENTAS DIRECTAS {CAJEROS} / EMPLEADOS FULL CALZADO
                             */
                        }
                        else if (DatosDB.Rows[0][1].ToString() == "CajerosFC")
                        {
                            /*
                             *  INVOCANDO PANTALLA DE ESPERA ANTES DE INICIAR LA APLICACION
                             */
                            this.Hide();                                                   // SE OCULTA VENTANA LOGIN PARA MOSTRAR VENTANA DE CARGA
                            BienvenidaUsuarios vistabienvenida = new BienvenidaUsuarios(); // INSTANCIA (OBJETO) CREADO PARA INVOCAR VENTANA
                            vistabienvenida.ShowDialog();                                  // MUESTRA VENTANA TIPO --> VENTANA DE DIALOGO

                            /*
                             *  --> MOSTRANDO PANTALLA DE ADMINISTRACION
                             *      USUARIOS : EMPLEADOS GENERALES DE CAJA -> VENTAS FULL CALZADO {CAJEROS}
                             */
                            new VentasClientesFC(DatosDB.Rows[0][0].ToString()).Show();
                        }
                    }
                    else
                    {
                        // DATOS ERRONEOS, ENTONCES...
                        Llamada.NotificionError();  // NOTIFICACION PERSONALIZADA DE ERROR
                        // LLAMADA ERROR DATOS ERRONEOS -> INGRESO INVALIDO
                        Form LlamadaErrorIngreso = new MensajeErrorLogin();
                        LlamadaErrorIngreso.Show();
                        // AUMENTO EN 1 -> CONTADOR DE INTENTOS
                        ContadorIntentos++;
                    }
                    // SI CONTADOR INTENTOS ACUMULA 3, ENTONCES...
                    if (ContadorIntentos == 3)
                    {
                        CuentaRegresiva.Start();    // INICIO DE CUENTA REGRESIVA | BLOQUEO DE ACCESO
                        // LLAMADA DE CRONOMETRO CONTROLADO -> VENTANA EMERGENTE
                        Form Bloquear = new BloqueoSesion();
                        Bloquear.Show();
                        // BLOQUEO TOTAL DE CONTROLES DE ACCESO
                        txtPassUsuario.Enabled   = false;
                        txtUsuarioLogin.Enabled  = false;
                        btnIniciarSesion.Enabled = false;
                    }
                    //label7.Text = "Intento: " + ContadorIntentos;     //--> EFECTOS DE PRUEBAS
                }
                // ERROR DE BASE DE DATOS
                catch
                {
                    Llamada.NotificionError(); // NOTIFICACION PERSONALIZADA DE ERROR
                    // LLAMADA MENSAJE ERROR COMUNICACION BASE DE DATOS
                    Form LlamadaErrorDB = new MensajeErrorDB();
                    LlamadaErrorDB.Show();
                }
                // EN TODOS LOS CASOS, CONEXION SERA CERRADA A ESPERA DE NUEVA PETICION
                finally
                {
                    Controlador.CierreConexion(); // CIERRE DE CONEXION
                }
            }
        }