protected void btnEnviar_Click(object sender, EventArgs e)
    {
        Usu_UsuarioDB usuDB = new Usu_UsuarioDB();
        Usu_Usuario   usu   = usuDB.SelecionarPorEmail(txtEmail.Text);

        if (usu != null)
        {
            string novasenha = gerarSenha(6);
            usu.Usu_senha       = Funcoes.HashCriptografia(novasenha, "SHA512");
            usu.Usu_data_acesso = null;
            if (Usu_UsuarioDB.Update(usu) != -2)
            {
                Response.Write(Email.EnviarEmail("InterSAM <*****@*****.**>", txtEmail.Text, "Esqueceu a senha", "Senha redefinida<br><br>Usuário: " + usu.Usu_login + "<br>Senha: " + novasenha));
            }
            else
            {
                Response.Write(@"<script language='javascript'>alert('Erro ao Enviar E-mail!');</script>");
            }
        }
        else
        {
            Response.Write(@"<script language='javascript'>alert('E-mail enviado com sucesso!');</script>");
        }
        txtEmail.Text = "";
    }
    protected void btnRedefinirSenha_Click(object sender, EventArgs e)
    {
        Usu_Usuario usuario = (Usu_Usuario)Session["usuario"];

        usuario.Usu_senha = txtSenha.Text;

        switch (Usu_UsuarioDB.UpdateSenha(usuario))
        {
        case 0:
            //// HISTÓRICO // ------------------------------------
            //Hst_Historico historico = new Hst_Historico();
            //Hst_HistoricoDB historicoDB = new Hst_HistoricoDB();
            //historico.Hst_data = DateTime.Now;
            //historico.Hst_atividade = "Redefiniu Senha";
            //Hst_HistoricoDB.Insert(historico);
            ////--------------------------------------------------

            Response.Write(@"<script language='javascript'>
                    alert('Senha Redefinida com Sucesso!');
                    
                    setTimeout(function(){location.href='EscolherPerfil.aspx';}, 4000);

                    if(alert)
                        location.href='EscolherPerfil.aspx';  
                </script>");
            break;

        case -2:
            Response.Write(@"<script language='javascript'>alert('Erro ao Redefinir a Senha!');</script>");
            break;
        }
    }
    protected void lkbParticipante_Click(object sender, EventArgs e)
    {
        Usu_Usuario usuario = (Usu_Usuario)Session["usuario"];

        Usu_UsuarioDB.UpdateDataAcesso(usuario);
        Session["PERFIL"] = "participante";
        Response.Redirect("Participante.aspx");
    }
    protected void lkbAvaliador_Click(object sender, EventArgs e)
    {
        Usu_Usuario usuario = (Usu_Usuario)Session["usuario"];

        Usu_UsuarioDB.UpdateDataAcesso(usuario);
        Session["PERFIL"] = "avaliador";
        Response.Redirect("Avaliador.aspx");
    }
    protected void lkbAdministradorComum_Click(object sender, EventArgs e)
    {
        Usu_Usuario usuario = (Usu_Usuario)Session["usuario"];

        Usu_UsuarioDB.UpdateDataAcesso(usuario);
        Session["PERFIL"] = "administradorComum";
        Response.Redirect("AdministradorComum.aspx");
    }
 protected void btnAtivar_Click(object sender, EventArgs e)
 {
     foreach (GridViewRow row in GridView1.Rows)
     {
         CheckBox cb = (CheckBox)row.FindControl("chkUsuario");
         if (cb != null && cb.Checked)
         {
             Usu_Usuario usuario = new Usu_Usuario();
             usuario.Usu_codigo = Convert.ToInt32(row.Cells[1].Text);
             usuario.Usu_status = 1;
             Usu_UsuarioDB.Desativar(usuario);
         }
     }
     CarregarGrid(Convert.ToInt32(ddlSelecionarPerfil.SelectedValue));
 }
    protected void lkbAdministradorMaster_Click(object sender, EventArgs e)
    {
        Usu_Usuario usuario = (Usu_Usuario)Session["usuario"];

        Usu_UsuarioDB.UpdateDataAcesso(usuario);
        Session["PERFIL"] = "administradorMaster";

        //// HISTÓRICO // ------------------------------------
        //Hst_Historico historico = new Hst_Historico();
        //Hst_HistoricoDB historicoDB = new Hst_HistoricoDB();
        //historico.Hst_data = DateTime.Now;
        //historico.Hst_atividade = "Escolheu o Perfil <b>Administrador Master</b>";
        //historico.Pes_codigo.Pes_Nome = usuario.Pes_codigo.Pes_Nome;
        //Hst_HistoricoDB.Insert(historico);
        ////--------------------------------------------------

        Response.Redirect("AdministradorMaster.aspx");
    }
    protected void btnEntrar_Click(object sender, EventArgs e)
    {
        Usu_Usuario   usuario   = new Usu_Usuario();
        Usu_UsuarioDB usuarioDB = new Usu_UsuarioDB();

        usuario.Usu_login = Convert.ToInt32(txtLogin.Text);
        usuario.Usu_senha = Sam.Funcoes.Funcoes.HashCriptografia(txtSenha.Text, "SHA512");

        usuario = usuarioDB.SelecionarPorLogin(usuario);

        if (usuario != null)
        {
            if (usuario.Usu_status == 1)
            {
                Session.Add("usuario", usuario);

                // HISTÓRICO // ------------------------------------
                Hst_Historico   historico   = new Hst_Historico();
                Hst_HistoricoDB historicoDB = new Hst_HistoricoDB();
                historico.Hst_data      = DateTime.Now;
                historico.Hst_atividade = "Logou no Sistema";
                Hst_HistoricoDB.Insert(historico);
                //--------------------------------------------------

                if (usuario.Usu_data_acesso == null)
                {
                    Response.Redirect("RedefinirSenha.aspx");
                }
                else
                {
                    Response.Redirect("EscolherPerfil.aspx");
                }
            }
            else
            {
                Response.Write(@"<script language='javascript'>alert('Usuário Desativado!');</script>");
            }
        }
        else
        {
            Response.Write(@"<script language='javascript'>alert('Usuário Não Cadastrado ou Senha Incorreta!');</script>");
        }
    }
    protected void btnCadastrarAdm_Click(object sender, EventArgs e)
    {
        Pes_Pessoas pessoa = new Pes_Pessoas();

        pessoa.Pes_Nome     = txtNome.Text;
        pessoa.Pes_Rg       = txtRG.Text;
        pessoa.Pes_Ra       = txtMatricula.Text;
        pessoa.Pes_Cpf      = txtCPF.Text;
        pessoa.Pes_Telefone = txtTelefone.Text;
        pessoa.Pes_Celular  = txtCelular.Text;
        pessoa.Pes_Email    = txtEmail.Text;
        pessoa.Pes_Data     = Convert.ToDateTime(txtDataDeNascimento.Text);
        pessoa.Pes_Cep      = txtCEP.Text;
        pessoa.Pes_Rua      = txtRua.Text;
        pessoa.Pes_Numero   = txtNumero.Text;
        pessoa.Pes_Bairro   = txtBairro.Text;
        pessoa.Pes_Cidade   = txtCidade.Text;
        pessoa.Pes_Estado   = ddlEstado.Text;
        Usu_Usuario usu = (Usu_Usuario)Session["usuario"];

        pessoa.Aud_pes_codigo = usu.Pes_codigo.Pes_Codigo;
        pessoa.Pes_Codigo     = Pes_PessoaDB.Insert(pessoa);

        if (pessoa.Pes_Codigo == -2)
        {
            Response.Write(@"<script language='javascript'>alert('Cadastro não efetuado!');</script>");
        }
        else
        {
            Usu_Usuario usuario = new Usu_Usuario();

            //usuario.Usu_codigo = Convert.ToInt32(txtMatricula.Text);
            usuario.Usu_login         = Convert.ToInt32(txtMatricula.Text);
            usuario.Usu_senha         = Convert.ToDateTime(txtDataDeNascimento.Text).ToShortDateString();
            usuario.Usu_data_cadastro = DateTime.Now.Date;
            usuario.Usu_status        = 1;
            usuario.Pes_codigo        = pessoa;
            usuario.Usu_codigo        = Usu_UsuarioDB.Insert(usuario);
            if (usuario.Usu_codigo == -2)
            {
                Response.Write(@"<script language='javascript'>alert('Cadastro não efetuado Usuario!script>");
            }
            else
            {
                if (ddlSelecionarPerfil.SelectedValue == "Participante")
                {
                    Pru_Perfil_Usuario pru = new Pru_Perfil_Usuario();

                    Per_Perfil perfil = new Per_Perfil();
                    perfil.Per_codigo = 1;

                    pru.Per_codigo = perfil;
                    pru.Usu_codigo = usuario;

                    switch (Pru_Perfil_UsuarioDB.Insert(pru))
                    {
                    case 0:
                        Response.Write(@"<script language='javascript'>alert('Cadastro efetuado com sucesso!');</script>");
                        break;

                    case -2:
                        Response.Write(@"<script language='javascript'>alert('Cadastro não efetuado!');</script>");
                        break;
                    }
                }
                else
                if (ddlSelecionarPerfil.SelectedValue == "Avaliador")
                {
                    Pru_Perfil_Usuario pru = new Pru_Perfil_Usuario();
                    pru.Usu_codigo = usuario;
                    Per_Perfil perfil = new Per_Perfil();

                    perfil.Per_codigo = 1;
                    pru.Per_codigo    = perfil;

                    Pru_Perfil_UsuarioDB.Insert(pru);

                    perfil.Per_codigo = 2;
                    pru.Per_codigo    = perfil;


                    switch (Pru_Perfil_UsuarioDB.Insert(pru))
                    {
                    case 0:
                        Response.Write(@"<script language='javascript'>alert('Cadastro efetuado com sucesso!');</script>");
                        break;

                    case -2:
                        Response.Write(@"<script language='javascript'>alert('Cadastro não efetuado!');</script>");
                        break;
                    }
                    //pru.Per_codigo.Per_codigo = '1';
                    //pru.Per_codigo.Per_codigo = '2';
                }
                else
                if (ddlSelecionarPerfil.SelectedValue == "Administrador Comum")
                {
                    Pru_Perfil_Usuario pru    = new Pru_Perfil_Usuario();
                    Per_Perfil         perfil = new Per_Perfil();
                    pru.Usu_codigo = usuario;

                    perfil.Per_codigo = 1;
                    pru.Per_codigo    = perfil;

                    Pru_Perfil_UsuarioDB.Insert(pru);

                    perfil.Per_codigo = 2;
                    pru.Per_codigo    = perfil;

                    Pru_Perfil_UsuarioDB.Insert(pru);

                    perfil.Per_codigo = 3;
                    pru.Per_codigo    = perfil;

                    switch (Pru_Perfil_UsuarioDB.Insert(pru))
                    {
                    case 0:
                        Response.Write(@"<script language='javascript'>alert('Cadastro efetuado com sucesso!');</script>");
                        break;

                    case -2:
                        Response.Write(@"<script language='javascript'>alert('Cadastro não efetuado!');</script>");
                        break;
                    }

                    //pru.Per_codigo.Per_codigo = '1';
                    //pru.Per_codigo.Per_codigo = '2';
                    //pru.Per_codigo.Per_codigo = '3';
                }



                Sam.Funcoes.Funcoes.limparCamposTextBox(this);
            }
        }
    }