private void btnIngresar_Click(object sender, EventArgs e)
        {
            InformacionDeLaExcepcion = ERespuestaBaseDeDatos.SinErrores;
            RespuestaDeSesion        = ERespuestaDelInicio.DatosCorrectos;

            RespuestaDeSesion = ClsInicioSesion.ComparaDatos(txtUsuario.Text.ToLower(), txtContraseña.Text, ref InformacionDeLaExcepcion);

            if (RespuestaDeSesion == ERespuestaDelInicio.DatosCorrectos)
            {
                txtContraseña.UseSystemPasswordChar = false;
                txtUsuario.Text    = TextoVisualUsuario;
                txtContraseña.Text = TextoVisualContraseña;

                Hide();

                FrmPrincipal AbrirFrmPrincipal = new FrmPrincipal();

                AbrirFrmPrincipal.FormClosed += CerrarSesion; //Cuando se cierra el formulario principal, se ejecuta el evento CerrarSesion

                AbrirFrmPrincipal.Show();
            }
            else
            {
                if (InformacionDeLaExcepcion != ERespuestaBaseDeDatos.SinErrores)
                {
                    switch (InformacionDeLaExcepcion)
                    {
                    case ERespuestaBaseDeDatos.ArgumentException:
                        MessageBox.Show($"ArgumentException: La cadena de conexión con la base de datos no " +
                                        $"existe \r\n\r\nContacte con el programador para informar y corregir el " +
                                        $"error", "ERROR CON LA BASE DE DATOS", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case ERespuestaBaseDeDatos.SqlException:
                        MessageBox.Show($"SqlException: La sentencia para buscar la información es " +
                                        $"invalida \r\n\r\nContacte con el programador para informar y corregir el " +
                                        $"error", "ERROR CON LA BASE DE DATOS", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case ERespuestaBaseDeDatos.Exception:
                        MessageBox.Show($"Exception: Posible error en la consulta \r\n\r\nContacte con el " +
                                        $"programador para informar y corregir el error", "ERROR CON LA BASE DE DATOS", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                }
                else
                {
                    switch (RespuestaDeSesion)
                    {
                    case ERespuestaDelInicio.UsuarioInexistente: { lblMensajeDeError.Text = "Usuario incorrecto"; break; }

                    case ERespuestaDelInicio.ClaveIncorrecta: { lblMensajeDeError.Text = "Contraseña incorrecta"; break; }

                    default: { lblMensajeDeError.Text = "Ocurrio un error inesperado al intentar comparar los datos para validar sesion"; break; }
                    }

                    lblMensajeDeError.Visible = true;
                }
            }
        }
Exemple #2
0
        private void btnIngresar_Click(object sender, EventArgs e)
        {
            string InformacionDelError = string.Empty;

            ClsUsuarios.ERespuestaDelInicio RespuestaDeSesion = ClsUsuarios.ERespuestaDelInicio.UsuarioYContraseñaIncorrecta;

            ClsUsuarios Usuarios            = new ClsUsuarios();
            Usuario     UsuarioIniciaSesion = Usuarios.LeerParaInicioSesion(txtUsuario.Text, txtContraseña.Text, ref RespuestaDeSesion, ref InformacionDelError);

            if (UsuarioIniciaSesion != null)
            {
                txtUsuario.Text    = TEXTO_VISUAL_USUARIO;
                txtContraseña.Text = TEXTO_VISUAL_CONTRASEÑA;
                txtContraseña.UseSystemPasswordChar = false;

                Hide();

                FrmPrincipal FormPrincipal = FrmPrincipal.ObtenerInstancia();

                FormPrincipal.FormClosed += CerrarSesion; //Cuando se cierra el formulario principal, se ejecuta el evento CerrarSesion

                ID_UsuarioInicioSesion       = UsuarioIniciaSesion.ID_Usuario;
                ID_PerfilUsuarioInicioSesion = UsuarioIniciaSesion.ID_Perfil;
                NombreUsuarioInicioSesion    = $"{UsuarioIniciaSesion.Nombre} {UsuarioIniciaSesion.Apellido}";

                if (UsuarioIniciaSesion.ID_Perfil != (int)ClsPerfiles.EPerfiles.Administrador)
                {
                    tmrPantallaCarga.Start();
                    FrmPantallaDePresentacion.ObtenerInstancia().ShowDialog();
                }

                FormPrincipal.Show();
            }
            else if (InformacionDelError == string.Empty)
            {
                switch (RespuestaDeSesion)
                {
                case ClsUsuarios.ERespuestaDelInicio.DadoDeBaja: lblMensajeDeError.Text = "Usuario dado de baja"; break;

                case ClsUsuarios.ERespuestaDelInicio.UsuarioYContraseñaIncorrecta: lblMensajeDeError.Text = "Usuario y contraseña incorrectos"; break;

                case ClsUsuarios.ERespuestaDelInicio.UsuarioIncorrecto: lblMensajeDeError.Text = "Usuario incorrecto"; break;

                case ClsUsuarios.ERespuestaDelInicio.ClaveIncorrecta: lblMensajeDeError.Text = "Contraseña incorrecta"; break;

                default: lblMensajeDeError.Text = "Ocurrio un error inesperado al intentar comparar los datos para validar sesión"; break;
                }

                lblMensajeDeError.Visible = true;
            }
            else
            {
                MessageBox.Show($"{InformacionDelError}", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }