protected void btnEnviar_Click(object sender, EventArgs e)
        {
            UsuariosBL usuBL = new UsuariosBL();
            Usuarios usu = new Usuarios();
            string msg;

            DataSet usuDS = usuBL.PesquisarDAEmail(txtEmail.Text);

            if (usuDS.Tables[0].Rows.Count > 0)
            {
                msg = usuBL.EnviarEmailSenha(usuDS);
                if (msg == string.Empty)
                    lblMensagem.Text = "Sua nova senha foi enviada para o email informado!";
                else
                    ExibirMensagem(msg);

                txtEmail.Text = "";

            }
            else
            {
                lblMensagem.Text = "Email não cadastrado no sistema!";
                txtEmail.Focus();
            }
        }
        public void CarregarPesquisaUsuario(string conteudo)
        {
            DataTable dt = new DataTable();
            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("CODIGO", Type.GetType("System.String"));
            DataColumn coluna3 = new DataColumn("DESCRICAO", Type.GetType("System.String"));

            dt.Columns.Add(coluna1);
            dt.Columns.Add(coluna2);
            dt.Columns.Add(coluna3);

            UsuariosBL usuBL = new UsuariosBL();
            Usuarios usu = new Usuarios();
            List<Usuarios> lUsuarios = usuBL.PesquisarBuscaBL(conteudo);

            foreach (Usuarios pes in lUsuarios)
            {
                DataRow linha = dt.NewRow();

                linha["ID"] = pes.Id;
                linha["CODIGO"] = pes.Id;
                linha["DESCRICAO"] = pes.Nome;

                dt.Rows.Add(linha);
            }

            grdPesquisaUsuario.DataSource = dt;
            grdPesquisaUsuario.DataBind();
        }
        protected void dtgUsuarios_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            UsuariosBL usuBL = new UsuariosBL();
            Usuarios usuarios = new Usuarios();

            usuarios.Id = utils.ComparaIntComZero(dtgUsuarios.DataKeys[e.RowIndex][0].ToString());
            usuBL.ExcluirBL(usuarios);
            Pesquisar(null);
        }
        protected void btnAcessar_Click(object sender, EventArgs e)
        {
            UsuariosBL usuBL = new UsuariosBL();
            List<Usuarios> usuarios  = usuBL.PesquisarBL(txtLogin.Text, txtSenha.Text, DateTime.Now);
            //List<Usuarios> usuarios = usuBL.PesquisarBL();

            if (usuarios.Count == 0)
            {
                txtLogin.Text = "";
                lblMensagem.Text = "O nome de usuário ou a senha estão incorretos. Tente digitá-los novamente.";
            }
            else
            {
                Session["usuario"] = usuarios;
                Response.Redirect("~/default.aspx");
            }
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            UsuariosBL usuBL = new UsuariosBL();
            Usuarios usuarios = new Usuarios();

            usuarios.Id = utils.ComparaIntComZero(hfId.Value);
            usuarios.PessoaId = utils.ComparaIntComNull(hfIdPessoa.Value);
            usuarios.Nome = txtNome.Text;
            usuarios.Email = txtEmail.Text;
            usuarios.Login = txtLogin.Text;
            usuarios.Senha = txtSenha.Text;
            usuarios.Status = ddlStatus.SelectedValue;
            usuarios.DtInicio = Convert.ToDateTime(txtDtInicio.Text);
            usuarios.DtFim = Convert.ToDateTime(txtDtFim.Text);
            usuarios.CategoriaId = utils.ComparaIntComZero(ddlCategoria.SelectedValue);

            if (usuarios.Id > 0)
            {

                if (usuBL.EditarBL(usuarios))
                    ExibirMensagem("Usuário atualizado com sucesso !");
                else
                    ExibirMensagem("Não foi possível atualizar o usuário. Revise as informações.");

            }
            else
            {
                if (usuarios.Senha == null || usuarios.Senha == string.Empty)
                {
                    lblInformacao.Text = "* Informe a senha";
                    txtSenha.Focus();

                }
                else
                {
                    lblInformacao.Text = "";
                    if (usuBL.InserirBL(usuarios))
                    {
                        ExibirMensagem("Usuário gravado com sucesso !");
                        LimparCampos();
                    }
                }

            }
        }
        private void CarregarDados(int id_usu)
        {
            UsuariosBL usuBL = new UsuariosBL();
            List<Usuarios> usuarios = usuBL.PesquisarBL(id_usu);

            foreach (Usuarios usu in usuarios)
            {
                hfId.Value = usu.Id.ToString();
                hfIdPessoa.Value = usu.PessoaId.ToString();
                txtNome.Text = usu.Nome;
                txtEmail.Text = usu.Email;
                txtLogin.Text = usu.Login;
                txtDtInicio.Text = usu.DtInicio.ToString("dd/MM/yyyy");
                txtDtFim.Text = usu.DtFim.ToString("dd/MM/yyyy");
                ddlStatus.SelectedValue = usu.Status.ToString();
                txtSenha.Attributes.Add("value", usu.Senha);
                txtConfirmarSenha.Attributes.Add("value", usu.Senha);

                if (usu.Categoria != null)
                    ddlCategoria.SelectedValue = usu.CategoriaId.ToString();

                if (usu.Pessoa != null)
                {
                    txtPessoa.Text = usu.Pessoa.Codigo.ToString();
                    lblDesPessoa.Text = usu.Pessoa.Nome;
                }
            }
        }
        private void Pesquisar(string valor)
        {
            DataTable tabela = new DataTable();

            DataColumn coluna1 = new DataColumn("ID", Type.GetType("System.Int32"));
            DataColumn coluna2 = new DataColumn("PESSOAID", Type.GetType("System.String"));
            DataColumn coluna3 = new DataColumn("NOME", Type.GetType("System.String"));
            DataColumn coluna4 = new DataColumn("EMAIL", Type.GetType("System.String"));
            DataColumn coluna5 = new DataColumn("STATUS", Type.GetType("System.String"));
            DataColumn coluna6 = new DataColumn("DTINICIO", Type.GetType("System.String"));
            DataColumn coluna7 = new DataColumn("DTFIM", Type.GetType("System.String"));
            DataColumn coluna8 = new DataColumn("CODCAT", Type.GetType("System.Int32"));
            DataColumn coluna9 = new DataColumn("DESCAT", Type.GetType("System.String"));

            tabela.Columns.Add(coluna1);
            tabela.Columns.Add(coluna2);
            tabela.Columns.Add(coluna3);
            tabela.Columns.Add(coluna4);
            tabela.Columns.Add(coluna5);
            tabela.Columns.Add(coluna6);
            tabela.Columns.Add(coluna7);
            tabela.Columns.Add(coluna8);
            tabela.Columns.Add(coluna9);

            UsuariosBL usuBL = new UsuariosBL();
            List<Usuarios> usuarios;

            usuarios = usuBL.PesquisarBuscaBL(valor);

            foreach (Usuarios usu in usuarios)
            {
                DataRow linha = tabela.NewRow();

                linha["ID"] = usu.Id;
                linha["PESSOAID"] = usu.PessoaId;
                linha["NOME"] = usu.Nome;
                linha["EMAIL"] = usu.Email;
                linha["STATUS"] = usu.Status;
                linha["DTINICIO"] = usu.DtInicio.ToString("dd/MM/yyyy");
                linha["DTFIM"] = usu.DtFim.ToString("dd/MM/yyyy");
                linha["CODCAT"] = usu.Categoria.Codigo;
                linha["DESCAT"] = usu.Categoria.Descricao;

                tabela.Rows.Add(linha);
            }

            dtbPesquisa = tabela;
            dtgUsuarios.DataSource = tabela;
            dtgUsuarios.DataBind();
        }