Exemplo n.º 1
0
        public void IniciarSesion(string usuario, string clave)
        {
            RespuestaAuth respuestaLogin = Login.ValidarUsuario(usuario, clave);

            if (respuestaLogin.FueExitosa)
            {
                Program.usuarioGlobal = respuestaLogin.modelUserRole;

                this.Hide();
                FrmMain frmMain = new FrmMain();
                frmMain.Show();
            }
            else
            {
                lblMensaje.Text = respuestaLogin.Mensaje;
            }
        }
        public RespuestaAuth ValidarUsuario(string usuario, string clave)
        {
            RespuestaAuth retorno = new RespuestaAuth();

            retorno.FueExitosa    = false;
            retorno.Mensaje       = "validando...";
            retorno.modelUserRole = null;

            if (usuario.Length == 0 || clave.Length == 0)
            {
                retorno.FueExitosa = false;
                retorno.Mensaje    = "El usuario y la clave son obligatorios";
                return(retorno);
            }
            try
            {
                using (SqlConnection con = new SqlConnection(connectionString))
                {
                    //
                    // Open the SqlConnection.
                    //
                    con.Open();
                    //
                    // This code uses an SqlCommand based on the SqlConnection.
                    //
                    using (SqlCommand command = new SqlCommand(@"SELECT TOP 1 * FROM Funcionario  
                                                                WHERE Documento = @Username AND Password = @Password", con))
                    {
                        SqlParameter uName     = new SqlParameter("@Username", SqlDbType.VarChar);
                        SqlParameter uPassword = new SqlParameter("@Password", SqlDbType.VarChar);

                        uName.Value     = usuario;
                        uPassword.Value = clave;

                        command.Parameters.Add(uName);
                        command.Parameters.Add(uPassword);

                        using (SqlDataReader reader = command.ExecuteReader())
                        {
                            if (reader.Read())
                            {
                                retorno.FueExitosa = true;
                                retorno.Mensaje    = "Usuario y clave válidos";
                                ViewModelUserRole userRole = new ViewModelUserRole
                                {
                                    Id        = reader["Id"].ToString(),
                                    Nombres   = reader["Nombres"].ToString(),
                                    Apellidos = reader["Apellidos"].ToString(),
                                    Documento = reader["Documento"].ToString(),
                                    Email     = reader["Email"].ToString()
                                };

                                userRole.Rol          = ObtenerRolesUsuario(userRole.Id);
                                retorno.modelUserRole = userRole;
                            }
                            else
                            {
                                retorno.FueExitosa = false;
                                retorno.Mensaje    = "Usuario y clave no corresponden a un usuario del sistema";
                            }
                        }
                    }

                    if (con.State == ConnectionState.Open)
                    {
                        con.Dispose();
                    }
                }
            }
            catch (Exception e)
            {
                retorno.FueExitosa = false;
                retorno.Mensaje    = "Error en el servidor. Error: " + e.Message;
            }


            return(retorno);
        }