protected void Page_Load(object sender, EventArgs e)
    {
        // Se não tiver usuario logado ele volta pra Home
        if (Session["usuario"] == null)
        {
            Response.Redirect("../Home.aspx");
        }


        perfil      = new PerfilBean();
        perfcont    = new PerfilController();
        cursocont   = new CursoController();
        areacont    = new AreaController();
        unidadecont = new UnidadeController();
        //Label com nome do usuario
        lbNome.Text = Session["usuario"].ToString();
        int UsuarioId = int.Parse(Session["usuarioId"].ToString());

        //verifica se o status do usuario esta ativo
        // if (Session["UsuarioStatus"].ToString() == "A") {
        try
        {
            //Verifica se ele é um administrador
            if (Session["UsuarioTipo"].ToString() == "A")
            {
            }
            else
            {
                //Verifica se o usuário fez o cadastro de perfil
                try
                {
                    perfil = perfcont.ConsultarPerfilPorIdUsuario(UsuarioId);
                    Session["PerfilId"] = perfil.Id_perfil;
                    if (perfil == null)
                    {
                        Panel conteudo = new Panel();


                        lbtAlterarPerfil.Visible = false;
                        Label lbcursounidade = new Label();
                        lbcursounidade.Text = "< div > Complete seu cadastro para receber opções de curso" +
                                              "<p><a class= " + "\"" + "btn btn-primary btn-lg" + "\"" + " href= " + "\"" + "Cadastro_Perfil.aspx" + "\"" + " role= " + "\"" + "button" + "\"" + " >Concluir Cadastro »</a></p></div>";
                        conteudo.Controls.Add(lbcursounidade);
                        pnPerfil.Controls.Add(conteudo);
                    }
                    else
                    {
                        //carrega os cursos sugeridos
                        Sugestoesdcurso(UsuarioId, perfil.Id_perfil);
                    }
                }
                catch
                {
                }
            }
        }
        catch { }
        // }
    }
    protected void lbtAlterarPerfil_Click(object sender, EventArgs e)
    {
        int UsuarioId = int.Parse(Session["usuarioId"].ToString());

        perfcont = new PerfilController();
        perfil   = perfcont.ConsultarPerfilPorIdUsuario(UsuarioId);

        if (perfil == null)
        {
            Response.Redirect("Cadastro_Perfil.aspx");
        }
        else
        {
            Response.Redirect("Alterar_Perfil.aspx");
        }
    }
    private void CarregarCamposAlterar()
    {
        perfil = new PerfilBean();
        cidade = new CidadeBean();
        area   = new AreaBean();
        int usuarioID = int.Parse(Session["usuarioId"].ToString());

        perfcont = new PerfilController();
        perfil   = perfcont.ConsultarPerfilPorIdUsuario(usuarioID);

        /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        *                               ARRUMAR     OS      TRY's     CATCH's     cCOM        ERROS
        *********************************************             *********                                              *******************/

        //Consulta Cidade_Perfil
        try
        {
            cidadecont = new CidadeController();
            cidade     = cidadecont.ConsultaCidadePerfil(perfil.Id_perfil);
        }
        catch
        {
        }

        if (cidade.Id_estado != 0)
        {
            idcidadeantiga = cidade.Id_cidade;//Não funcional ainda(Servira para quando a tabela estiver N * N)
            //Seleciona o estado que já estava cadastrado no BD
            DDLestado.SelectedValue = Convert.ToString(cidade.Id_estado);
        }

        //Consulta Area_Perfil
        try
        {
            areacont = new AreaController();
            foreach (AreaBean area1 in this.areacont.ListarAreaPerfil(perfil.Id_perfil))
            {
                for (int i = 0; i < cont; i++)
                {
                    bool selecionado = CheckListArea.Items[i].Selected;
                    if (Convert.ToInt16(CheckListArea.Items[i].Value) == area1.Id)
                    {
                        CheckListArea.Items[i].Selected = true;
                    }
                }
            }
        }
        catch
        {
        }

        //Seleciona a data de nascimento cadastrada no BD
        Txtdatanascimento.Text = perfil.Datanascimento;

        //Seleciona a escolaridade cadastrada no BD
        DDLescolaridade.SelectedValue = perfil.Escolaridade;

        //Carrega as cidades do estado
        try
        {
            CarregarCidades();
        }
        catch
        {
        }

        //Seleciona a cidade que já estava cadastrado no BD
        if (cidade.Id_cidade != 0)
        {
            DDLcidade.SelectedValue = Convert.ToString(cidade.Id_cidade);
        }
    }
    protected void Btalterar_Click(object sender, EventArgs e)
    {
        //Pega o Id do usuario da MasterPage
        usuario = new UsuarioBean
        {
            Id = int.Parse(Session["usuarioId"].ToString())
        };
        perfil = new PerfilBean();

        //Consulta o perfil pelo id do usuario
        perfcont = new PerfilController();
        perfil   = perfcont.ConsultarPerfilPorIdUsuario(usuario.Id);

        perfil.Datanascimento = Txtdatanascimento.Text;
        perfil.Escolaridade   = DDLescolaridade.SelectedValue;

        //Pegando o id no campo
        cidade           = new CidadeBean();
        cidade.Id_cidade = Convert.ToInt32(DDLcidade.SelectedValue);

        //Controller Usuario
        usuCont = new UsuarioController();

        try
        {
            cursocont = new CursoController();
            //Consulta o Usuario pelo ID para pegar as informações do usuario
            usuario = usuCont.ConsultarUsuarioPorID(usuario.Id);

            perfcont.AlterarPerfil(usuario, perfil, cidade, idcidadeantiga);
            //Retira os pontos adicionados pela area do curso
            cursocont.RetirarCursoIndicadoArea(perfil.Id_perfil);
            //Exclui todas as areas associadas ao perfil
            perfcont.ExcluirPerfilArea(perfil);
            cursocont.ExcluirCursosIndicado(perfil.Id_perfil);
            for (int i = 0; i < cont; i++)
            {
                bool selecionado = CheckListArea.Items[i].Selected;
                if (selecionado == true)
                {
                    area    = new AreaBean();
                    area.Id = Convert.ToInt16(CheckListArea.Items[i].Value);
                    try
                    {
                        perfcont.InserirPerfilArea(perfil, area);
                        //inserir por area
                        cursocont.InserirCursoIndicadoArea(perfil.Id_perfil, cidade.Id_cidade);
                    }
                    catch {
                    }
                }
                //insere por questionario novamente
                cursocont.InserirCursoIndicadoQuestionarios(perfil.Id_perfil, cidade.Id_cidade);
            }
            Response.Redirect("Perfil.aspx");
        }
        catch (Exception)
        {
            throw;
        }
    }