예제 #1
0
    protected void cvParticipante_ServerValidate(object source, ServerValidateEventArgs args)
    {
        if (VS_alu_id > 0)
        {
            List <ACA_AlunoResponsavel> lista = ACA_AlunoResponsavelBO.SelecionaResponsaveisPorAluno(VS_alu_id);
            bool existeTipoResponsavel        = false;
            switch (Convert.ToInt32(rblParticipante.SelectedValue))
            {
            case 1:
                existeTipoResponsavel = (from alr in lista
                                         where alr.tra_id == TipoResponsavelAlunoParametro.tra_idPai(__SessionWEB.__UsuarioWEB.Usuario.ent_id)
                                         select alr).Count() > 0;
                break;

            case 2:
                existeTipoResponsavel = (from alr in lista
                                         where alr.tra_id == TipoResponsavelAlunoParametro.tra_idMae(__SessionWEB.__UsuarioWEB.Usuario.ent_id)
                                         select alr).Count() > 0;
                break;

            case 3:
                existeTipoResponsavel = (from alr in lista
                                         where alr.alr_principal
                                         select alr).Count() > 0;
                break;
            }

            args.IsValid = existeTipoResponsavel;
        }
        else
        {
            args.IsValid = true;
        }
    }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["Pes_Id_Responsavel"] != null)
                {
                    DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(new Guid(Session["Pes_Id_Responsavel"].ToString()));
                    //Session["Pes_Id_Responsavel"] = null;

                    grvAluno.DataSource = dtAlunosDoResponsavel;
                    grvAluno.DataBind();
                }
            }
        }
예제 #3
0
    /// <summary>
    /// Método chamado quando o usuário seleciona uma pessoa na tela de busca.
    /// </summary>
    /// <param name="parameters"></param>
    void UCPessoas1BuscaPessoa(IDictionary <string, object> parameters)
    {
        //Faz uma busca do id do tipo de documento (tdo_id).
        string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
        string docPadraoRG  = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);

        //Variáveis que recebe os valores cadastrados caso já exista.
        byte   situacao_responsavel;
        string alr_profissao;

        // ID do tipo de documento NIS.
        Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

        try
        {
            if (!String.IsNullOrEmpty(parameters["pes_id"].ToString()))
            {
                VS_Pes_ID = new Guid(parameters["pes_id"].ToString());
            }

            PES_Pessoa entity = new PES_Pessoa();
            entity.pes_id = VS_Pes_ID;
            PES_PessoaBO.GetEntity(entity);

            txtNome.Text     = entity.pes_nome;
            txtDataNasc.Text = entity.pes_dataNascimento != new DateTime() ?
                               entity.pes_dataNascimento.ToString("dd/MM/yyyy") :
                               "";
            UCComboEstadoCivil1._Combo.SelectedValue = entity.pes_estadoCivil.ToString();
            UCComboSexo1._Combo.SelectedValue        = (entity.pes_sexo == 0) ? "-1" : entity.pes_sexo.ToString();
            if (entity.tes_id != Guid.Empty)
            {
                UCComboTipoEscolaridade1._Combo.SelectedValue = entity.tes_id.ToString();
            }
            else
            {
                UCComboTipoEscolaridade1._Combo.SelectedValue = UCComboTipoEscolaridade1._Combo.Items[0].Value;
            }

            //Faz a verificação se existe as informações cadastradas referente a profissão e situação do responsável.
            ACA_AlunoResponsavelBO.RetornaAlunoResponsavel_Situacao_Profissao(entity.pes_id, out situacao_responsavel, out alr_profissao);
            chkSituacaoFalecido.Checked = situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido);
            txtProfissao.Text           = alr_profissao;

            txtCPFResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoCPF);
            txtRGResponsavel.Text  = RetornaDocumentoResponsavel(entity.pes_id, docPadraoRG);
            txtNis.Text            = RetornaDocumentoResponsavel(entity.pes_id, tdo_idNis.ToString());

            if (UCBuscaPessoasAluno != null)
            {
                // Limpar campos da busca.
                UCBuscaPessoasAluno._Limpar();
            }

            ScriptManager.RegisterClientScriptBlock(Page, GetType(), "BuscaPessoa", "$('#divBuscaResponsavel').dialog('close');", true);
        }
        catch (Exception ex)
        {
            lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro);
            ApplicationWEB._GravaErro(ex);
        }
    }
예제 #4
0
        protected void _btnSalvar_Click(object sender, EventArgs e)
        {
            if (ValidarAlterarSenha())
            {
                try
                {
                    // Carrega os dados do usuário
                    SYS_Usuario entityUsuario = new SYS_Usuario
                    {
                        ent_id = UCComboEntidade1.Valor
                        ,
                        usu_login = (RadioButtonList1.SelectedIndex == 0
                                        ? ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, Guid.Empty)
                                        : ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, Guid.Empty)) + txtLogin.Text
                    };
                    SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuario);

                    // Configura criptografia da senha
                    eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(entityUsuario.usu_criptografia), true);
                    if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
                    {
                        criptografia = eCriptografa.TripleDES;
                    }

                    // Verifica a senha do usuário comparando com a senha atual
                    if (!UtilBO.EqualsSenha(entityUsuario.usu_senha, UtilBO.CriptografarSenha(_txtSenhaAtual.Text, criptografia), criptografia))
                    {
                        string mensagemSenhaAtualInvalida = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.MeusDadosMensagemSenhaAtualIncorreta);

                        _lblMessageAlterarSenha.Text = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAtualInvalida) ? "Senha atual inválida." : mensagemSenhaAtualInvalida, UtilBO.TipoMensagem.Erro);
                        _updAlterarSenha.Update();

                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao alterar senha. Senha atual inválida.");
                    }
                    else
                    {
                        // Atualiza dados do usuário
                        entityUsuario.usu_situacao      = 1;
                        entityUsuario.usu_senha         = _txtNovaSenha.Text;
                        entityUsuario.usu_dataAlteracao = DateTime.Now;
                        SYS_UsuarioBO.AlterarSenhaAtualizarUsuario(entityUsuario, entityUsuario.usu_integracaoAD == (byte)SYS_UsuarioBO.eIntegracaoAD.IntegradoADReplicacaoSenha);

                        // Configura usuário na Session
                        LoadSession(entityUsuario);
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha alterada com sucesso.");

                        string mensagemSenhaAlterada = SYS_MensagemSistemaBO.RetornaValor(SYS_MensagemSistemaChave.LoginMensagemSenhaAlteradaSucesso);

                        __SessionWEB.PostMessages = UtilBO.GetErroMessage(string.IsNullOrEmpty(mensagemSenhaAlterada) ? "Senha alterada com sucesso." : mensagemSenhaAlterada, UtilBO.TipoMensagem.Sucesso);

                        // Autenticação SAML.
                        SYS_UsuarioBO.AutenticarUsuario(entityUsuario);

                        // Configura usuário na Session
                        LoadSession(entityUsuario);

                        // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só,
                        //  ou caso tenha mais, redireciona para uma tela de selação de alunos
                        if (RadioButtonList1.SelectedIndex == 1)
                        {
                            DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(entityUsuario.pes_id);

                            Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();

                            Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count;

                            if (dtAlunosDoResponsavel.Rows.Count > 1)
                            {
                                //Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();
                                RedirecionarLogin(true);
                                return;
                            }
                        }

                        RedirecionarLogin(false);
                    }
                }
                catch (DuplicateNameException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true);
                }
                catch (ArgumentException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true);
                }
                catch (ValidationException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);

                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar alterar a senha do usuário.", UtilBO.TipoMensagem.Erro);
                    ScriptManager.RegisterClientScriptBlock(this, GetType(), "AlterarSenhaErro", "$('#divAlterarSenha').dialog('close');", true);
                }
            }
            else
            {
                _updAlterarSenha.Update();
            }
        }
예제 #5
0
        protected void btnEntrar_Click(object sender, EventArgs e)
        {
            if (ValidarLogin())
            {
                try
                {
                    // Carrega os dados do usuário necessário para o login
                    SYS_Usuario entityUsuario = new SYS_Usuario
                    {
                        ent_id = UCComboEntidade1.Valor
                        ,
                        usu_login = (RadioButtonList1.SelectedIndex == 0
                                        ? ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, Guid.Empty)
                                        : ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, Guid.Empty)) + txtLogin.Text
                        ,
                        usu_senha = txtSenha.Text
                    };

                    // Checa as credenciais do usuário
                    LoginStatus status = SYS_UsuarioBO.LoginWEB(entityUsuario);

                    switch (status)
                    {
                    case LoginStatus.Erro:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Erro ao tentar entrar no sistema." + entityUsuario.usu_login);
                        lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.Bloqueado:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário bloqueado." + entityUsuario.usu_login);
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário bloqueado.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.NaoEncontrado:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Usuário não encontrado." + entityUsuario.usu_login);

                        //mostra para o usuário a mensagem abaixo
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();
                        break;
                    }

                    case LoginStatus.SenhaInvalida:
                    {
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Senha inválida." + entityUsuario.usu_login);

                        //mostra para o usuário a mensagem abaixo
                        lblMessage.Text = UtilBO.GetErroMessage("Usuário e/ou senha inválidos.", UtilBO.TipoMensagem.Alerta);
                        txtLogin.Focus();

                        break;
                    }

                    case LoginStatus.Expirado:
                    {
                        ConfigurarTelaSenhaExpirada(entityUsuario);
                        break;
                    }

                    case LoginStatus.Sucesso:
                    {
                        // Zera a quantidade de falhas de autenticação para o usuário.
                        SYS_UsuarioFalhaAutenticacaoBO.ZeraFalhaAutenticacaoUsuario(entityUsuario.usu_id);

                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Login, "Login efetuado com sucesso.");

                        // Autenticação SAML.
                        SYS_UsuarioBO.AutenticarUsuario(entityUsuario);

                        // Configura usuário na Session
                        LoadSession(entityUsuario);

                        // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só,
                        //  ou caso tenha mais, redireciona para uma tela de selação de alunos
                        if (RadioButtonList1.SelectedIndex == 1)
                        {
                            DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(entityUsuario.pes_id);

                            Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();

                            Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count;

                            if (dtAlunosDoResponsavel.Rows.Count > 1)
                            {
                                //Session["Pes_Id_Responsavel"] = entityUsuario.pes_id.ToString();
                                RedirecionarLogin(true);
                                break;
                            }
                        }

                        RedirecionarLogin(false);

                        break;
                    }
                    }
                }
                catch (ValidationException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro);
                }
            }
        }
예제 #6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!HttpContext.Current.User.Identity.IsAuthenticated)
                {
                    string provider = IdentitySettingsConfig.IDSSettings.AuthenticationType;
                    Context.GetOwinContext().Authentication.Challenge(provider);
                }
                else
                {
                    if (!UserIsAuthenticated())
                    {
                        throw new Exception("Usuário não encontrado!");
                    }

                    string prefixoRESP = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_RESPONSAVEL_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    bool   responsavel = __SessionWEB.__UsuarioWEB.Usuario.usu_login.Contains(prefixoRESP);

                    // Se selecionou para logar como responsável, verifica se esse ele é responsável por um aluno só,
                    //  ou caso tenha mais, redireciona para uma tela de selação de alunos
                    if (responsavel)
                    {
                        __SessionWEB.__UsuarioWEB.responsavel = true;
                        string prefixoAluno = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.PREFIXO_LOGIN_ALUNO_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                        //Troca o prefixo de responsável por aluno
                        var regex      = new Regex(Regex.Escape(prefixoRESP));
                        var loginAluno = regex.Replace(__SessionWEB.__UsuarioWEB.Usuario.usu_login, prefixoAluno, 1);

                        SYS_Usuario entityUsuarioAluno = new SYS_Usuario
                        {
                            ent_id    = __SessionWEB.__UsuarioWEB.Usuario.ent_id,
                            usu_login = loginAluno
                        };

                        SYS_UsuarioBO.GetSelectBy_ent_id_usu_login(entityUsuarioAluno);
                        __SessionWEB.__UsuarioWEB.pes_idAluno = entityUsuarioAluno.pes_id;

                        DataTable dtAlunosDoResponsavel = ACA_AlunoResponsavelBO.SelecionaAlunosPorResponsavel(__SessionWEB.__UsuarioWEB.Usuario.pes_id);
                        Session["Pes_Id_Responsavel"]      = __SessionWEB.__UsuarioWEB.Usuario.pes_id.ToString();
                        Session["Qtde_Filhos_Responsavel"] = dtAlunosDoResponsavel.Rows.Count;
                        if (dtAlunosDoResponsavel.Rows.Count > 1)
                        {
                            RedirecionarLogin(true);
                            return;
                        }
                    }
                    RedirecionarLogin(false);
                    return;
                }
            }
            catch (ValidationException ex)
            {
                lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar entrar no sistema.", UtilBO.TipoMensagem.Erro);
            }
        }