Exemplo n.º 1
0
 /// <summary>
 /// Valida entidade aluno, se já está inativa.
 /// </summary>
 /// <param name="alu">Entidade a ser validada - obrigatório</param>
 private static void ValidaSituacaoInativo(ACA_Aluno alu)
 {
     if (alu.alu_situacao == Convert.ToByte(ACA_AlunoSituacao.Inativo))
     {
         throw new ValidationException("Não foi possível realizar a movimentação. O aluno já está inativo no sistema.");
     }
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="entityAluno"></param>
 /// <param name="ltHistoricoObservacao"></param>
 /// <param name="salvar_sempre_maiusculo"></param>
 /// <param name="bancoCore"></param>
 /// <param name="bancoGestao"></param>
 public static void SalvarHistoricosObservacaoAluno
 (
     ACA_Aluno entityAluno
     , List <ACA_AlunoHistoricoObservacao> ltHistoricoObservacao
     , bool salvar_sempre_maiusculo
     , TalkDBTransaction bancoCore
     , TalkDBTransaction bancoGestao
 )
 {
     SalvarHistoricosObservacaoAluno(entityAluno.alu_id, ltHistoricoObservacao, salvar_sempre_maiusculo, bancoCore, bancoGestao);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Validação da data de movimentação, pois a data atual não pode ser anterior a última.
 /// </summary>
 /// <param name="cadMov">Estrutura de movimentação</param>
 /// <param name="tmo">Entidade tipo de movimentação</param>
 /// <param name="alu">Entidade do aluno</param>
 /// <param name="bancoGestao">Conexão aberta com o banco de dados do gestão</param>
 /// <param name="listasFechamentoMatricula">Listas carregadas com dados do fechamento de matrícula</param>
 private static void ValidaDataMovimentacao
 (
     MTR_Movimentacao_Cadastro cadMov
     , MTR_TipoMovimentacao tmo
     , ACA_Aluno alu
     , TalkDBTransaction bancoGestao
     , FormacaoTurmaBO.ListasFechamentoMatricula listasFechamentoMatricula = null
 )
 {
     // Chama o método padrão para validar data da movimetação
     ValidaDataMovimentacao(cadMov.dataMovimentacao, alu.alu_id, alu.ent_id, tmo.tmo_id, bancoGestao, listasFechamentoMatricula);
 }
Exemplo n.º 4
0
        /// <summary>
        /// Salva os responsáveis do aluno, e o pai e a mãe na filiação do aluno.
        /// </summary>
        /// <param name="listaResponsavel">Lista da estrutura do cadastro</param>
        /// <param name="entAluno">Aluno</param>
        /// <param name="bancoGestao">Transação do Gestão</param>
        /// <param name="bancoCore">Transação do Core</param>
        /// <param name="tra_idPrincipal">Id do tipo de responsável principal</param>
        /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param>
        /// <param name="entPessoaAluno">Pessoa referente ao aluno - seta o id do Pai e da Mãe</param>
        /// <param name="obrigatorioTipoResponsavel">Validar se foi informado o Id do tipo de responsável principal.</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        public static void SalvarResponsaveisAluno
        (
            List <StructCadastro> listaResponsavel,
            ACA_Aluno entAluno,
            TalkDBTransaction bancoGestao,
            TalkDBTransaction bancoCore,
            Int32 tra_idPrincipal,
            bool salvarMaiusculo,
            ref PES_Pessoa entPessoaAluno,
            bool obrigatorioTipoResponsavel,
            Guid ent_id
        )
        {
            List <StructCadastro> listCadastrados = new List <StructCadastro>();
            List <StructCadastro> listaInseridos  = new List <StructCadastro>();
            Guid pes_idMae = Guid.Empty;
            Guid pes_idPai = Guid.Empty;

            if (tra_idPrincipal <= 0 && obrigatorioTipoResponsavel)
            {
                throw new ValidationException("É necessário informar o responsável do aluno.");
            }

            if (listaResponsavel.Count == 0)
            {
                throw new ValidationException("Responsável é obrigatório.");
            }

            if (!entAluno.IsNew)
            {
                // Guardar os responsáveis que já tinham sido cadastrados.
                listCadastrados = RetornaResponsaveisAluno(entAluno.alu_id, null);
            }

            // Buscando ids dos tipos de responsável dos parâmetros.
            Int32 tra_idMae     = TipoResponsavelAlunoParametro.tra_idMae(ent_id);
            Int32 tra_idPai     = TipoResponsavelAlunoParametro.tra_idPai(ent_id);
            Int32 tra_idProprio = TipoResponsavelAlunoParametro.tra_idProprio(ent_id);

            // ID do tipo de documento CPF.
            string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
            Guid   tdo_idCPF    = String.IsNullOrEmpty(docPadraoCPF) ? Guid.Empty : new Guid(docPadraoCPF);

            // ID do tipo de documento RG.
            string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
            Guid   tdo_idRG    = String.IsNullOrEmpty(docPadraoRG) ? Guid.Empty : new Guid(docPadraoRG);

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

            List <string> ListValidacoesDoc = new List <string>();

            foreach (StructCadastro resp in listaResponsavel)
            {
                //Responsáveis com o mesmo numero de documento
                foreach (PES_PessoaDocumento psd in resp.listPessoaDoc)
                {
                    if (listaResponsavel.Any(p => p.entAlunoResp.pes_id != resp.entAlunoResp.pes_id &&
                                             p.listPessoaDoc.Any(d => d.psd_numero == psd.psd_numero)) &&
                        !ListValidacoesDoc.Contains("Há mais de um responsável com o mesmo número de documento."))
                    {
                        ListValidacoesDoc.Add("Há mais de um responsável com o mesmo número de documento.");
                    }
                }

                // Responável tem data de nascimento maior que a data atual.
                if (resp.entPessoa.pes_dataNascimento > DateTime.Now)
                {
                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data atual.");
                    }

                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data atual.");
                    }
                }

                // Responsavel do aluno é falecido e mora com ele -- erro
                if (resp.entAlunoResp.alr_moraComAluno && resp.entAlunoResp.alr_situacao == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido))
                {
                    ListValidacoesDoc.Add("Responsável do aluno não pode morar com o aluno e ser falecido.");
                }

                // Responsavel tem data de nascimento mais nova que a do aluno
                if (resp.entPessoa.pes_dataNascimento > entPessoaAluno.pes_dataNascimento)
                {
                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idMae(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento da mãe não pode ser maior que a data de nascimento do aluno.");
                    }

                    if (resp.entAlunoResp.tra_id == TipoResponsavelAlunoParametro.tra_idPai(ent_id))
                    {
                        ListValidacoesDoc.Add("A data de nascimento do pai não pode ser maior que a data de nascimento do aluno.");
                    }
                }

                //Valida código NIS do aluno
                int index = resp.listPessoaDoc.FindIndex(p => p.tdo_id == tdo_idNis);

                if (index >= 0 && !(string.IsNullOrEmpty(resp.listPessoaDoc[index].psd_numero)))
                {
                    string TipoPessoa;

                    if (resp.entAlunoResp.tra_id == tra_idMae)
                    {
                        TipoPessoa = "A mãe";
                    }
                    else if (resp.entAlunoResp.tra_id == tra_idPai)
                    {
                        TipoPessoa = "O pai";
                    }
                    else
                    {
                        TipoPessoa = "O responsável";
                    }

                    if (ACA_AlunoBO.NISInvalido(resp.listPessoaDoc[index].psd_numero))
                    {
                        ListValidacoesDoc.Add(TipoPessoa + " possui o número do NIS inválido.");
                    }
                }

                // Adiciona na lista dos dados inseridos.
                listaInseridos.Add(
                    SalvarResponsavel(tra_idPrincipal,
                                      entAluno,
                                      resp,
                                      tra_idProprio,
                                      bancoCore,
                                      tra_idMae,
                                      tra_idPai,
                                      bancoGestao,
                                      tdo_idCPF,
                                      tdo_idRG,
                                      tdo_idNis,
                                      ref pes_idMae,
                                      ref pes_idPai,
                                      salvarMaiusculo,
                                      ref ListValidacoesDoc,
                                      listaResponsavel,
                                      ent_id));
            }

            // Se não foi inserido nenhum item na lista como principal.
            if (!listaInseridos.Exists(p => p.entAlunoResp.alr_principal) && obrigatorioTipoResponsavel)
            {
                ListValidacoesDoc.Add("É necessário informar o responsável do aluno.");
            }

            if (ListValidacoesDoc.Count > 0)
            {
                throw new ValidationException(string.Join("<BR/>", ListValidacoesDoc.ToArray()));
            }

            // Salva na pessoa do aluno os Ids do pai e da mãe.
            entPessoaAluno = new PES_Pessoa
            {
                pes_id = entAluno.pes_id
            };
            PES_PessoaBO.GetEntity(entPessoaAluno, bancoCore);

            // Se mudou a mãe.
            if (entPessoaAluno.pes_idFiliacaoMae != pes_idMae)
            {
                entPessoaAluno.pes_idFiliacaoMae = pes_idMae;
                PES_PessoaBO.Save(entPessoaAluno, bancoCore);
            }

            // Se mudou o pai.
            if (entPessoaAluno.pes_idFiliacaoPai != pes_idPai)
            {
                entPessoaAluno.pes_idFiliacaoPai = pes_idPai;
                PES_PessoaBO.Save(entPessoaAluno, bancoCore);
            }

            // Percorrer os itens que existiam antes, para excluir os que não tem mais.
            foreach (StructCadastro item in listCadastrados)
            {
                if (item.entPessoa.pes_id == entAluno.pes_id)
                {
                    continue;
                }
                VerifcaItemCadastrado(listaInseridos, bancoCore, bancoGestao, item, tra_idProprio);
            }
        }
Exemplo n.º 5
0
    /// <summary>
    /// Metodo atribui a label informações sobre aluno(nome, escola, curso, ano, matricula, turma, avaliação, nºchamada).
    /// </summary>
    /// <param name="alu_id">ID do aluno</param>
    /// <param name="dtCurriculo">Último currículo do aluno (parâmetro opcional)</param>
    public void InformacaoComplementarAluno(long alu_id, DataTable dtCurriculo = null, bool documentoOficial = false)
    {
        try
        {
            if (alu_id > 0)
            {
                ACA_Aluno  entityAluno  = new ACA_Aluno();
                PES_Pessoa entityPessoa = new PES_Pessoa();

                // Carrega entidade ACA_Aluno
                entityAluno.alu_id = alu_id;
                ACA_AlunoBO.GetEntity(entityAluno);

                // Carrega entidade PES_Pessoa
                entityPessoa.pes_id = entityAluno.pes_id;
                PES_PessoaBO.GetEntity(entityPessoa);

                eExibicaoNomePessoa exibicaoNome = documentoOficial ? eExibicaoNomePessoa.NomeSocial | eExibicaoNomePessoa.NomeRegistro : eExibicaoNomePessoa.NomeSocial;

                string nomeAluno = entityPessoa.NomeFormatado(exibicaoNome);
                string turno     = string.Empty;
                Guid   ent_id    = __SessionWEB.__UsuarioWEB.Usuario.ent_id;

                bool paramOrdenar = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, ent_id);

                //Nome
                lblInformacaoAluno.Text = "<b>Nome do aluno: </b>" + nomeAluno + "<br/>";

                //Idade
                if (entityPessoa.pes_dataNascimento != new DateTime() && entityPessoa.pes_dataNascimento < DateTime.Today)
                {
                    string dataExtenso = GestaoEscolarUtilBO.DiferencaDataExtenso(entityPessoa.pes_dataNascimento, DateTime.Today);
                    if (!string.IsNullOrEmpty(dataExtenso))
                    {
                        lblInformacaoAluno.Text += "<b>Idade: </b>" + dataExtenso + "<br/>";
                    }
                }

                // Caso estiver sendo chamada da tela de cadastro de aluno, o datatable com a ultima matricula já virá preenchido
                if (dtCurriculo == null)
                {
                    dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);
                }

                if (dtCurriculo.Rows.Count > 0)
                {
                    #region Carrega os dados

                    Esc_id = (string.IsNullOrEmpty(dtCurriculo.Rows[0]["esc_id"].ToString())) ? -1 : Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"]);
                    string nomeEscola        = dtCurriculo.Rows[0]["esc_nome"].ToString();
                    string codigoEscola      = dtCurriculo.Rows[0]["esc_codigo"].ToString();
                    string cursoNome         = dtCurriculo.Rows[0]["cur_nome"].ToString();
                    string descricaoPeriodo  = dtCurriculo.Rows[0]["crp_descricao"].ToString();
                    string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString();
                    string numeroMatricula   = dtCurriculo.Rows[0]["alc_matricula"].ToString();
                    string turmaCodigo       = dtCurriculo.Rows[0]["tur_codigo"].ToString();
                    string mtu_numeroChamada = dtCurriculo.Rows[0]["mtu_numeroChamada"].ToString();
                    string nomeAvaliacao     = dtCurriculo.Rows[0]["crp_nomeAvaliacao"].ToString();
                    string numeroAvaliacao   = dtCurriculo.Rows[0]["tca_numeroAvaliacao"].ToString();
                    string cal_ano           = dtCurriculo.Rows[0]["cal_ano"].ToString();
                    turno = dtCurriculo.Rows[0]["ttn_nome"].ToString();

                    #endregion Carrega os dados

                    //Escola

                    lblInformacaoAluno.Text += "<b>Escola: </b>";
                    lblInformacaoAluno.Text += (paramOrdenar ? codigoEscola + " - " : "") + nomeEscola + "<br/>";

                    if (!HistoricoEscolar)
                    {
                        //Curso
                        lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoCurso(ent_id) + ": </b>" + cursoNome;


                        //Periodo
                        lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(ent_id) + ": </b>" + descricaoPeriodo + "<br/>";

                        //Matricula
                        if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, ent_id)))
                        {
                            if (!string.IsNullOrEmpty(matriculaEstadual))
                            {
                                lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(ent_id) + ": " + "</b>" + matriculaEstadual + "&nbsp;&nbsp;&nbsp;";
                            }
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(numeroMatricula))
                            {
                                lblInformacaoAluno.Text += "<b> " + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + numeroMatricula + "&nbsp;&nbsp;&nbsp;";
                            }
                        }

                        //Turma
                        lblInformacaoAluno.Text += "<b>Turma: </b>" + turmaCodigo;

                        if (!string.IsNullOrEmpty(turno))
                        {
                            //Turno
                            lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>Turno: </b>" + turno;
                        }

                        //Avaliação
                        if (!string.IsNullOrEmpty(nomeAvaliacao) && !string.IsNullOrEmpty(numeroAvaliacao))
                        {
                            lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>" + nomeAvaliacao + ": </b>" + numeroAvaliacao;
                        }
                    }
                    else
                    {
                        //Turma
                        lblInformacaoAluno.Text += "<b>Ciclo de alfabetização: </b>" + turmaCodigo + "<br/>";

                        //Ano
                        lblInformacaoAluno.Text += "<b>Ano: </b>" + cal_ano;
                    }

                    //Número de chamada
                    int numeroChamada;
                    Int32.TryParse(mtu_numeroChamada, out numeroChamada);

                    if (numeroChamada > 0)
                    {
                        lblInformacaoAluno.Text += "&nbsp;&nbsp;&nbsp;<b>Nº chamada: </b>" + mtu_numeroChamada;
                    }
                }
            }
        }
        catch (Exception ex)
        {
            ApplicationWEB._GravaErro(ex);
            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Erro ao tentar carregar as informações do aluno.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 6
0
    /// <summary>
    /// Salva dados do aluno
    /// </summary>
    private void Salvar(bool novo)
    {
        try
        {
            string msgErro;
            if (lblMessage.Text == string.Empty && !UCGridContato1.SalvaConteudoGrid(out msgErro))
            {
                UCGridContato1._MensagemErro.Visible = false;
                lblMessage.Text = msgErro;
                return;
            }

            PES_Pessoa entityPessoa = new PES_Pessoa
            {
                pes_nome = txtNome.Text
                ,
                cid_idNaturalidade = string.IsNullOrEmpty(_txtCid_id.Value) ? Guid.Empty : new Guid(_txtCid_id.Value)
                ,
                pes_dataNascimento = string.IsNullOrEmpty(txtDataNasc.Text) ? new DateTime() : Convert.ToDateTime(txtDataNasc.Text)
                ,
                pes_racaCor = UCComboRacaCor1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboRacaCor1._Combo.SelectedValue)
                ,
                pes_sexo = UCComboSexo1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboSexo1._Combo.SelectedValue)
                ,
                pes_estadoCivil = UCComboEstadoCivil1._Combo.SelectedValue == "-1" ? Convert.ToByte(null) : Convert.ToByte(UCComboEstadoCivil1._Combo.SelectedValue)
                ,
                pes_situacao = 1
                ,
                IsNew = true
            };

            PES_PessoaDeficiencia entityPessoaDeficiencia = new PES_PessoaDeficiencia
            {
                tde_id = new Guid(UCComboTipoDeficiencia1._Combo.SelectedValue)
            };

            END_Cidade cid = new END_Cidade
            {
                cid_id = new Guid(_txtCid_idCertidao.Value)
            };
            END_CidadeBO.GetEntity(cid);

            PES_CertidaoCivil entityCertidaoCivil = new PES_CertidaoCivil
            {
                ctc_tipo = 1
                ,
                cid_idCartorio = new Guid(_txtCid_idCertidao.Value)
                ,
                unf_idCartorio = cid.unf_id
                ,
                ctc_distritoCartorio = txtDistritoCertidao.Text
                ,
                ctc_dataEmissao = string.IsNullOrEmpty(txtDataEmissao.Text) ? new DateTime() : Convert.ToDateTime(txtDataEmissao.Text)
                ,
                ctc_folha = txtFolha.Text
                ,
                ctc_livro = txtLivro.Text
                ,
                ctc_numeroTermo = txtNumeroTermo.Text
            };

            END_Endereco entityEndereco;
            string       numero;
            string       complemento;
            string       msg;

            bool cadastraEndereco = UCEnderecos1.RetornaEnderecoCadastrado(out entityEndereco, out numero, out complemento, out msg);

            if (!cadastraEndereco)
            {
                throw new ValidationException(msg);
            }

            DataTable dtEndereco = string.IsNullOrEmpty(entityEndereco.end_cep) ? new DataTable() : UCEnderecos1._VS_enderecos;

            ACA_Aluno entityAluno = new ACA_Aluno
            {
                ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id
                ,
                alu_situacao = _ddlSituacao.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(_ddlSituacao.SelectedValue)
                ,
                IsNew = true
            };

            ACA_AlunoCurriculo entityAlunoCurriculo = new ACA_AlunoCurriculo
            {
                esc_id = UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[0] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[0])
                ,
                uni_id = UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[1] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCFiltroEscolas1._ComboUnidadeEscola.SelectedValue.Split(';')[1])
                ,
                cur_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[0] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[0])
                ,
                crr_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[1] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[1])
                ,
                crp_id = UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[2] == "-1" ? Convert.ToInt32(null) : Convert.ToInt32(UCComboCurriculoPeriodo1._Combo.SelectedValue.Split(';')[2])
                ,
                alc_matriculaEstadual = txtMatriculaEstadual.Text
                ,
                alc_situacao = _ddlSituacao.SelectedValue == "-1" ? Convert.ToByte(0) : Convert.ToByte(_ddlSituacao.SelectedValue)
            };

            if (ACA_AlunoBO.Save_CadastroRapido(entityPessoa
                                                , entityPessoaDeficiencia
                                                , dtEndereco
                                                , UCGridContato1._VS_contatos
                                                , entityCertidaoCivil
                                                , txtMae.Text
                                                , txtCPFMae.Text
                                                , txtPai.Text
                                                , txtCPFPai.Text
                                                , rfvMatriculaEstadual.Enabled
                                                , entityAluno
                                                , entityAlunoCurriculo
                                                , null
                                                , null))
            {
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "alu_id: " + entityAluno.alu_id);
                __SessionWEB.PostMessages = UtilBO.GetErroMessage(String.Format("Aluno incluído com sucesso."), UtilBO.TipoMensagem.Sucesso);

                Response.Redirect("CadastroRapido.aspx", false);
                HttpContext.Current.ApplicationInstance.CompleteRequest();

                string redirect = novo ?
                                  "~/Academico/Aluno/CadastroRapido.aspx" :
                                  "~/Academico/Aluno/Busca.aspx";

                Response.Redirect(redirect, false);
                Context.ApplicationInstance.CompleteRequest();
            }
            else
            {
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o aluno.", UtilBO.TipoMensagem.Erro);
            }
        }
        catch (ThreadAbortException)
        {
        }
        catch (ValidationException ex)
        {
            UCEnderecos1.AtualizaEnderecos();
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException ex)
        {
            UCEnderecos1.AtualizaEnderecos();
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException ex)
        {
            UCEnderecos1.AtualizaEnderecos();
            lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception ex)
        {
            UCEnderecos1.AtualizaEnderecos();
            ApplicationWEB._GravaErro(ex);
            lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o aluno.", UtilBO.TipoMensagem.Erro);
        }
    }
Exemplo n.º 7
0
        /// <summary>
        /// Carrega as informações do aluno que serão mostradas na tela.
        /// </summary>
        private void LoadInformacoesAluno()
        {
            try
            {
                ACA_Aluno  alu = new ACA_Aluno();
                PES_Pessoa pes = new PES_Pessoa();
                PES_Pessoa mae = new PES_Pessoa();

                if (_VS_alu_id > 0)
                {
                    alu.alu_id = _VS_alu_id;
                    ACA_AlunoBO.GetEntity(alu);

                    if (alu.ent_id != Ent_id)
                    {
                        __SessionWEB.PostMessages = UtilBO.GetErroMessage("O aluno não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta);

                        Response.Redirect("Busca.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }

                    pes.pes_id = alu.pes_id;
                    PES_PessoaBO.GetEntity(pes);

                    mae.pes_id = pes.pes_idFiliacaoMae;
                    PES_PessoaBO.GetEntity(mae);
                }

                lblNome.Text           += pes.NomeFormatado(VS_exibicaoNomePessoa) + "<br />";
                lblDataNascimento.Text += (Convert.ToDateTime(pes.pes_dataNascimento).ToShortDateString()) + "<br />";
                string nomeMae = String.IsNullOrEmpty(mae.pes_nome) ? "-" : mae.pes_nome;
                lblNomeMae.Text       += nomeMae + "<br />";
                lblDataCadastro.Text  += (Convert.ToDateTime(pes.pes_dataCriacao).ToShortDateString()) + "<br />";
                lblDataAlteracao.Text += (Convert.ToDateTime(pes.pes_dataAlteracao).ToShortDateString()) + "<br />";
                lblSituacao.Text      += situacao(alu.alu_situacao) + "<br />";

                DataTable matricula = VS_mtu_id >= 0 ? MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAlunoMtu(_VS_alu_id, VS_mtu_id) : MTR_MatriculaTurmaBO.GetSelectDadosMatriculaAluno(_VS_alu_id);

                if (matricula.Rows.Count > 0)
                {
                    if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.ORDENAR_ESCOLAS_POR_CODIGO, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                    {
                        lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_codigo"] + " - " + matricula.Rows[0]["esc_nome"] + "<br />";
                    }
                    else
                    {
                        lblEscola.Text += String.IsNullOrEmpty(matricula.Rows[0]["esc_nome"].ToString()) ? " - <br />" : matricula.Rows[0]["esc_nome"] + "<br />";
                    }

                    lblCurso.Text   = String.IsNullOrEmpty(matricula.Rows[0]["cur_nome"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoCurso(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["cur_nome"] + "<br />";
                    lblPeriodo.Text = String.IsNullOrEmpty(matricula.Rows[0]["crp_descricao"].ToString()) ? "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + " - " + "<br />" : "<b>" + GestaoEscolarUtilBO.nomePadraoPeriodo(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": </b>" + matricula.Rows[0]["crp_descricao"] + "<br />";

                    lblTurma.Text += String.IsNullOrEmpty(matricula.Rows[0]["tur_codigo"].ToString()) ? " - <br />" : matricula.Rows[0]["tur_codigo"] + "<br />";

                    if (string.IsNullOrEmpty(matricula.Rows[0]["crp_nomeAvaliacao"].ToString()))
                    {
                        lblAvaliacao.Visible = false;
                    }
                    else
                    {
                        lblAvaliacao.Text    = "<b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + ": </b>" + matricula.Rows[0]["crp_nomeAvaliacao"] + " " + matricula.Rows[0]["tca_numeroAvaliacao"] + "<BR />";
                        lblAvaliacao.Visible = true;
                    }
                    if (!String.IsNullOrEmpty(matricula.Rows[0]["mtu_numeroChamada"].ToString()))
                    {
                        if (Convert.ToInt32(matricula.Rows[0]["mtu_numeroChamada"]) > 0)
                        {
                            lblNChamada.Text += matricula.Rows[0]["mtu_numeroChamada"] + "<br />";
                        }
                        else
                        {
                            lblNChamada.Text += " - <br />";
                        }
                    }
                    else
                    {
                        lblNChamada.Text += " - <br />";
                    }


                    string matriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                    if (!String.IsNullOrEmpty(matriculaEstadual))
                    {
                        string mtrEstadual = String.IsNullOrEmpty(matricula.Rows[0]["alc_matriculaEstadual"].ToString()) ? "-" : matricula.Rows[0]["alc_matriculaEstadual"].ToString();
                        lblRA.Text    = "<b>" + matriculaEstadual + ": </b>" + mtrEstadual + "<br />";
                        lblRA.Visible = true;
                    }
                    else
                    {
                        string mtr = String.IsNullOrEmpty(matricula.Rows[0]["alc_matricula"].ToString()) ? "-" : matricula.Rows[0]["alc_matricula"].ToString();
                        lblRA.Text    = "<b>" + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + mtr + "<br />";
                        lblRA.Visible = true;
                    }

                    //Carrega nas propriedades os ids: Escola, Curso, Turma
                    VS_cur_id  = Convert.ToInt32(matricula.Rows[0]["cur_id"]);
                    VS_esc_id  = Convert.ToInt32(matricula.Rows[0]["esc_id"]);
                    VS_tur_id  = Convert.ToInt32(matricula.Rows[0]["tur_id"]);
                    VS_cal_id  = Convert.ToInt32(matricula.Rows[0]["cal_id"]);
                    VS_cal_ano = Convert.ToInt32(matricula.Rows[0]["cal_ano"]);
                }
                else
                {
                    lblEscola.Visible    = false;
                    lblCurso.Visible     = false;
                    lblPeriodo.Visible   = false;
                    lblTurma.Visible     = false;
                    lblNChamada.Visible  = false;
                    lblRA.Visible        = false;
                    lblAvaliacao.Visible = false;
                }

                if (FitroCalendario)
                {
                    ddlAnoCalendario.Items.Clear();
                    odsAnoCalendario.SelectParameters.Add("alu_id", _VS_alu_id.ToString());
                    ddlAnoCalendario.DataBind();

                    int cal_id = -1;
                    int max    = -1;
                    //Pega o calendário do ano atual ou o último ano que o aluno possui anotação.
                    foreach (ListItem lst in ddlAnoCalendario.Items)
                    {
                        if (Convert.ToInt32(lst.Text) == DateTime.Today.Year)
                        {
                            cal_id = Convert.ToInt32(lst.Value);
                            break;
                        }
                        else if (Convert.ToInt32(lst.Text) > max)
                        {
                            cal_id = Convert.ToInt32(lst.Value);
                            max    = Convert.ToInt32(lst.Text);
                        }
                    }
                    ddlAnoCalendario.SelectedValue = cal_id.ToString();

                    if (ddlAnoCalendario.Items.Count == 0)
                    {
                        ddlAnoCalendario.Visible = false;
                        lblAnoCalendario.Visible = false;
                    }
                }
                else
                {
                    divAnoCalendario.Visible = false;
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar dados do aluno.", UtilBO.TipoMensagem.Erro);
            }
        }
Exemplo n.º 8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                ScriptManager sm = ScriptManager.GetCurrent(this);
                if (sm != null)
                {
                    sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmBtn));
                }

                string mensagemFlash = CFG_ParametroMensagemBO.RetornaValor(CFG_ParametroMensagemChave.CAPTURA_REQUERFLASH);
                lblMessageFlash.Text    = UtilBO.GetErroMessage(mensagemFlash, UtilBO.TipoMensagem.Informacao);
                lblMessageFlash.Visible = !String.IsNullOrEmpty(mensagemFlash);
                if (Session["alu_id"] != null)
                {
                    if (Session["PaginaRetorno_CapturaFoto"] != null)
                    {
                        VS_PaginaRetorno = Session["PaginaRetorno_CapturaFoto"].ToString();
                        Session.Remove("PaginaRetorno_CapturaFoto");
                        VS_DadosPaginaRetorno = Session["DadosPaginaRetorno"];
                        Session.Remove("DadosPaginaRetorno");

                        VS_DadosPaginaRetorno_MinhasTurmas = Session["VS_DadosTurmas"];
                        Session.Remove("VS_DadosTurmas");
                    }

                    VS_alu_id = Convert.ToInt64(Session["alu_id"].ToString());
                    Session.Remove("alu_id");
                    busca = false;
                }

                if (((PreviousPage != null) && (PreviousPage.EditItem > 0)) || VS_alu_id != -1)
                {
                    if (VS_alu_id == -1)
                    {
                        VS_alu_id = PreviousPage.EditItem;
                    }

                    InfoComplementarAluno1.InformacaoComplementarAluno(VS_alu_id);

                    ACA_Aluno alu = new ACA_Aluno
                    {
                        alu_id = VS_alu_id
                    };
                    ACA_AlunoBO.GetEntity(alu);

                    PES_Pessoa pes = new PES_Pessoa
                    {
                        pes_id = alu.pes_id
                    };
                    PES_PessoaBO.GetEntity(pes);

                    CFG_Arquivo entFoto;
                    string      src = CriaFotoAluno(pes, out entFoto);

                    imgAntiga.Visible   = !string.IsNullOrEmpty(src) && string.IsNullOrEmpty(hdnArqExcluir.Value);
                    lblDataFoto.Visible = imgAntiga.Visible;

                    if (imgAntiga.Visible)
                    {
                        const string script = "var existeImagem = true;";
                        Page.ClientScript.RegisterStartupScript(typeof(Page), "confirm", script, true);

                        imgAntiga.Src = src;
                        imgAntiga.Style.Remove("display");
                        lblDataFoto.Text = @"<br />Última alteração da foto: " + entFoto.arq_dataAlteracao.ToString("dd/MM/yyyy");
                    }
                    else
                    {
                        imgAntiga.Src = "";
                        imgAntiga.Style.Add("display", "none");
                    }
                }
                else
                {
                    Redireciona();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Handles the Load event of the Page control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        /// <author>juliano.real</author>
        /// <datetime>12/10/2013-09:20</datetime>
        /// <exception cref="System.ComponentModel.DataAnnotations.ValidationException">Usuário não autorizado a exibir o area aluno.</exception>
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                String sMensagemLog = "";

                divResponsavel.Visible = __SessionWEB.__UsuarioWEB.responsavel;

                Int64 alu_id     = 0;
                long  arq_idFoto = 0;
                if (__SessionWEB.__UsuarioWEB.responsavel && __SessionWEB.__UsuarioWEB.alu_id > 0)
                {
                    alu_id = __SessionWEB.__UsuarioWEB.alu_id;
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }
                else if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.pes_idAluno);
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.pes_idAluno
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }
                else
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.Usuario.pes_id);
                    PES_Pessoa pesAluno = new PES_Pessoa {
                        pes_id = __SessionWEB.__UsuarioWEB.Usuario.pes_id
                    };
                    PES_PessoaBO.GetEntity(pesAluno);
                    arq_idFoto = pesAluno.arq_idFoto;
                }

                if (alu_id <= 0)
                {
                    sMensagemLog = "Usuário não autorizado a exibir Area do Aluno: usu_id: " + __SessionWEB.__UsuarioWEB.Usuario.usu_id.ToString();
                    throw new ValidationException("Usuário não autorizado a exibir o Area do Aluno.");
                }

                ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                    alu_id = alu_id
                });
                bool boletimBloqueado           = false;
                bool compromissoEstudoBloqueado = !ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id);

                if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline)
                {
                    if (__SessionWEB.__UsuarioWEB.responsavel)
                    {
                        Fieldset2.Visible            = true;
                        lblBoletimNaoDisponivel.Text = UtilBO.GetErroMessage(GetGlobalResourceObject("AreaAluno", "Index.lblBoletimNaoDisponivel.Text").ToString(), UtilBO.TipoMensagem.Informacao);
                        Fieldset1.Visible            = false;
                        return;
                    }
                    else
                    {
                        boletimBloqueado = true;
                    }
                }

                if (arq_idFoto > 0)
                {
                    string      imagem  = "";
                    CFG_Arquivo arquivo = new CFG_Arquivo {
                        arq_id = arq_idFoto
                    };
                    CFG_ArquivoBO.GetEntity(arquivo);
                    byte[] bufferData = arquivo.arq_data;

                    using (MemoryStream stream = new MemoryStream(bufferData))
                    {
                        System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                        imagem = Convert.ToBase64String(stream.ToArray());
                    }

                    imgFotoAluno.ImageUrl = "data:" + arquivo.arq_typeMime + ";base64," + imagem;
                }

                DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);

                if (dtCurriculo.Rows.Count <= 0)
                {
                    sMensagemLog = "Aluno não possui dados para a Area do Aluno: alu_id: " + alu_id.ToString();
                    throw new ValidationException("Aluno não possui dados para a Area do Aluno.");
                }

                string nomeAluno         = dtCurriculo.Rows[0]["pes_nome"].ToString();
                string matriculaEstadual = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString();
                string numeroMatricula   = dtCurriculo.Rows[0]["alc_matricula"].ToString();

                //Nome Aluno
                lblInformacaoAluno.Text = "Aluno: <b>" + nomeAluno + "</b><br/>";

                //Matricula
                if (!string.IsNullOrEmpty(ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id)))
                {
                    if (!string.IsNullOrEmpty(matriculaEstadual))
                    {
                        lblInformacaoAluno.Text += " <b>" + GestaoEscolarUtilBO.nomePadraoMatriculaEstadual(__SessionWEB.__UsuarioWEB.Usuario.ent_id) + ": " + "</b>" + matriculaEstadual + "&nbsp;&nbsp;&nbsp;";
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(numeroMatricula))
                    {
                        lblInformacaoAluno.Text += GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": <b>" + numeroMatricula + "</b>" + "&nbsp;&nbsp;&nbsp;";
                    }
                }

                __SessionWEB.__UsuarioWEB.alu_id = Convert.ToInt64(dtCurriculo.Rows[0]["alu_id"].ToString());
                __SessionWEB.__UsuarioWEB.esc_id = Convert.ToInt32(dtCurriculo.Rows[0]["esc_id"].ToString());
                __SessionWEB.__UsuarioWEB.uni_id = Convert.ToInt32(dtCurriculo.Rows[0]["uni_id"].ToString());
                __SessionWEB.__UsuarioWEB.mtu_id = Convert.ToInt32(dtCurriculo.Rows[0]["mtu_id"].ToString());
                __SessionWEB.__UsuarioWEB.tpc_id = Convert.ToInt32(string.IsNullOrEmpty(dtCurriculo.Rows[0]["tpc_id"].ToString()) ? "-1" : dtCurriculo.Rows[0]["tpc_id"].ToString());

                int mod_id = GetModuloId;

                string menuXml = SYS_ModuloBO.CarregarSiteMapXML2(
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                    __SessionWEB.__UsuarioWEB.Grupo.sis_id,
                    __SessionWEB.__UsuarioWEB.Grupo.vis_id,
                    mod_id
                    );
                if (String.IsNullOrEmpty(menuXml))
                {
                    menuXml = "<menus/>";
                }
                menuXml = menuXml.Replace("url=\"~/", String.Concat("url=\"", ApplicationWEB._DiretorioVirtual));

                // Verifica se o aluno está com o boletim bloqueado. Se estiver, retiro do menu.
                int indiceBoletim = menuXml.IndexOf("<menu id=\"Boletim");
                if (boletimBloqueado && indiceBoletim >= 0)
                {
                    menuXml = menuXml.Remove(indiceBoletim, menuXml.IndexOf("/>", indiceBoletim) - indiceBoletim + 2);
                }

                IDictionary <string, ICFG_Configuracao> configuracao;
                MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao);
                if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor))
                {
                    string url            = HttpContext.Current.Request.Url.AbsoluteUri;
                    string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor;

                    if (url.Contains(configInfantil))
                    {
                        menuXml = menuXml.Replace("menu id=\"Boletim Online\"", "menu id=\"" + (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil") + "\"");
                    }
                }

                // Verifica se o aluno está com o compromisso estudo bloqueado. Se estiver, retiro do menu.
                int indiceCompromissoEstudo = menuXml.IndexOf("<menu id=\"Compromisso de Estudo");
                if (compromissoEstudoBloqueado && indiceCompromissoEstudo >= 0)
                {
                    menuXml = menuXml.Remove(indiceCompromissoEstudo, menuXml.IndexOf("/>", indiceCompromissoEstudo) - indiceCompromissoEstudo + 2);
                }

                XmlTextReader        reader  = new XmlTextReader(new StringReader(menuXml));
                XPathDocument        treeDoc = new XPathDocument(reader);
                XslCompiledTransform siteMap = new XslCompiledTransform();

                if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapResponsavel.xslt"));
                }
                else
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMap.xslt"));
                }

                StringWriter sw = new StringWriter();
                siteMap.Transform(treeDoc, null, sw);
                string result = sw.ToString();

                List <CFG_ModuloClasse> lstModClasse = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID);

                if (lstModClasse.Any())
                {
                    //Carrega a lista de link e moduloId
                    Dictionary <string, string> linkModulo = new Dictionary <string, string>();
                    string[] linkMenusXml = menuXml.Split(new[] { "<menu id=\"" }, StringSplitOptions.None);
                    if (linkMenusXml.Length > 0)
                    {
                        bool primeiroItem = true;
                        foreach (string item in linkMenusXml)
                        {
                            if (!primeiroItem)
                            {
                                string link   = item.Substring(item.IndexOf("url=\"") + 5, item.Substring(item.IndexOf("url=\"") + 5).IndexOf("\""));
                                string modulo = item.Substring(0, item.IndexOf("\""));
                                linkModulo.Add(link, modulo);
                            }
                            primeiroItem = false;
                        }
                    }

                    //Carrega a lista de link e classe css atual
                    Dictionary <string, string> linkClasse = new Dictionary <string, string>();
                    string[] linkMenus = result.Split(new[] { "<li class=\"txtSubMenu\"><a " }, StringSplitOptions.None);
                    if (linkMenus.Length > 0)
                    {
                        bool primeiroItem = true;
                        foreach (string item in linkMenus)
                        {
                            if (!primeiroItem)
                            {
                                string link   = item.Substring(item.IndexOf("href=\"") + 6, item.Substring(item.IndexOf("href=\"") + 6).IndexOf("\""));
                                string classe = item.Substring(item.IndexOf("class=\"") + 7, item.Substring(item.IndexOf("class=\"") + 7).IndexOf("\""));
                                linkClasse.Add(link, "class=\"" + classe + "\" " + "href=\"" + link);
                            }
                            primeiroItem = false;
                        }
                    }

                    //Troca a classe css atual do link conforme o que está configurado na tabela filtrando pelo modulo
                    if (linkModulo.Count > 0 && linkClasse.Count > 0)
                    {
                        foreach (var item in linkClasse)
                        {
                            string modulo = linkModulo[item.Key];
                            if (!string.IsNullOrEmpty(modulo) && lstModClasse.Any(p => p.mod_nome == modulo))
                            {
                                string classeCfg = lstModClasse.Where(p => p.mod_nome == modulo).FirstOrDefault().mdc_classe;
                                if (!string.IsNullOrEmpty(classeCfg))
                                {
                                    result = result.Replace(item.Value, "class=\"link " + classeCfg + "\" " + "href=\"" + item.Key);
                                }
                            }
                        }
                    }
                }

                //Control ctrl = Page.ParseControl(result);
                _lblSiteMap.Text = result;

                if (!string.IsNullOrEmpty(ApplicationWEB.UrlAcessoExternoBoletimOnline))
                {
                    string[] crp_ordem = ApplicationWEB.Crp_ordem_AcessoExternoBoletimOnline;
                    // Só exibe o ícone caso o aluno esteja em alguma das séries parametrizadas.
                    if (crp_ordem.Contains(dtCurriculo.Rows[0]["crp_ordem"].ToString()))
                    {
                        // Seta um nó de menu para acesso ao site externo.
                        ulItemAcessoExterno.Visible     = true;
                        lblAcessoExterno.Text           = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString();
                        lnkAcessoExterno.HRef           = ApplicationWEB.UrlAcessoExternoBoletimOnline;
                        h2TituloAcessoExterno.InnerHtml = GetGlobalResourceObject("AreaAluno", "Index.lblAcessoExternoNome").ToString();
                    }
                }

                sMensagemLog = "Area do Aluno exibida para aluno: alu_id: " + alu_id.ToString();
                ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Query, sMensagemLog);
            }
            catch (ValidationException ex)
            {
                lblMessage.Text       = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx";
                btnVoltar.Visible     = true;
                divInformacao.Visible = false;
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text       = UtilBO.GetErroMessage("Erro ao exibir a Area do aluno", UtilBO.TipoMensagem.Erro);
                btnVoltar.PostBackUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx";
                btnVoltar.Visible     = true;
                divInformacao.Visible = false;
                HttpContext.Current.ApplicationInstance.CompleteRequest();
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Valida os dados necessários para realizar qualquer movimentação.
        /// Dispara uma ValidationException caso haja algum problema.
        /// </summary>
        /// <param name="cadMov">Entidade de cadastro de movimentação</param>
        /// <param name="alu">Entidade do aluno</param>
        /// <param name="tmo">Entidade tipo de movimentação</param>
        /// <param name="bancoGestao">Transação com banco - obrigatório</param>
        private static void ValidaDadosMovimentacao(MTR_Movimentacao_Cadastro cadMov, MTR_TipoMovimentacao tmo, ACA_Aluno alu, TalkDBTransaction bancoGestao)
        {
            bool isValidInicioMovimentacao;
            bool isValidFechamentoMovimentacao;

            // Valida se está no momento configurado na movimentação.
            MTR_TipoMovimentacaoBO.VerificaPeriodoValidoMovimentacao(cadMov.entMatTurAnterior,
                                                                     cadMov.entAluCurAnterior,
                                                                     cadMov.entMovimentacao.tmo_id,
                                                                     bancoGestao,
                                                                     cadMov.entMovimentacao.mov_dataRealizacao,
                                                                     out isValidInicioMovimentacao,
                                                                     out isValidFechamentoMovimentacao,
                                                                     cadMov.listasFechamentoMatricula);

            if (!isValidInicioMovimentacao)
            {
                throw new ValidationException("Não é possível realizar esse tipo de movimentação nesse momento do calendário escolar.");
            }

            if ((cadMov.entMatTurNovo != null) && (cadMov.entMatTurNovo.tur_id > 0))
            {
                // Verificar se a turma que o aluno vai entrar é do tipo 1-Normal.
                TUR_Turma entTurmaDestino = null;
                if (cadMov.listasFechamentoMatricula.listTurma != null)
                {
                    // Se a lista de fechamento foi alimentada, buscar entidade da lista.
                    entTurmaDestino = cadMov.listasFechamentoMatricula.listTurma.Find(p => p.tur_id == cadMov.entMatTurNovo.tur_id);
                }

                if (entTurmaDestino == null)
                {
                    entTurmaDestino = new TUR_Turma
                    {
                        tur_id = cadMov.entMatTurNovo.tur_id
                    };
                    TUR_TurmaBO.GetEntity(entTurmaDestino, bancoGestao);
                }

                if (entTurmaDestino.tur_tipo != (byte)TUR_TurmaTipo.Normal)
                {
                    throw new ValidationException("Não é possível movimentar o aluno para a turma " +
                                                  entTurmaDestino.tur_codigo + ".");
                }
            }
        }
Exemplo n.º 11
0
        public static bool Salvar(RelatorioPreenchimentoAluno relatorio, List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalhe, bool permiteAlterarRacaCor, byte racaCor, List <CLS_RelatorioPreenchimentoAcoesRealizadas> lstAcoesRealizadas)
        {
            CLS_RelatorioPreenchimentoDAO dao = new CLS_RelatorioPreenchimentoDAO();

            dao._Banco.Open(IsolationLevel.ReadCommitted);

            PES_PessoaDAO daoCore = new PES_PessoaDAO();

            daoCore._Banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                bool retorno = true;

                if (permiteAlterarRacaCor)
                {
                    ACA_Aluno alu = new ACA_Aluno {
                        alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id
                    };
                    ACA_AlunoBO.GetEntity(alu);

                    PES_Pessoa pes = new PES_Pessoa {
                        pes_id = alu.pes_id
                    };
                    PES_PessoaBO.GetEntity(pes);

                    pes.pes_racaCor = racaCor;
                    PES_PessoaBO.Save(pes, daoCore._Banco);
                }

                List <CLS_AlunoDeficienciaDetalhe> lstDeficienciaDetalheBanco =
                    (from sAlunoDeficiencia alunoDeficiencia in CLS_AlunoDeficienciaDetalheBO.SelecionaPorAluno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id)
                     from sAlunoDeficienciaDetalhe alunoDeficienciaDetalhe in alunoDeficiencia.lstDeficienciaDetalhe
                     select new CLS_AlunoDeficienciaDetalhe
                {
                    alu_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id
                    ,
                    tde_id = alunoDeficiencia.tde_id
                    ,
                    dfd_id = alunoDeficienciaDetalhe.dfd_id
                }).ToList();

                if (lstDeficienciaDetalheBanco.Any())
                {
                    lstDeficienciaDetalheBanco.ForEach(p => CLS_AlunoDeficienciaDetalheBO.Delete(p, dao._Banco));
                }


                if (relatorio.entityRelatorioPreenchimento.reap_id > 0)
                {
                    CLS_QuestionarioConteudoPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco);
                    CLS_QuestionarioRespostaPreenchimentoBO.ExcluiPorReapId(relatorio.entityRelatorioPreenchimento.reap_id, dao._Banco);
                }

                retorno &= Save(relatorio.entityRelatorioPreenchimento, dao._Banco);

                relatorio.entityPreenchimentoAlunoTurmaDisciplina.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                retorno &= CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.Save(relatorio.entityPreenchimentoAlunoTurmaDisciplina, dao._Banco);

                relatorio.lstQuestionarioConteudoPreenchimento.ForEach
                (
                    p =>
                {
                    p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                    retorno  &= CLS_QuestionarioConteudoPreenchimentoBO.Save(p, dao._Banco);
                }
                );

                relatorio.lstQuestionarioRespostaPreenchimento.ForEach
                (
                    p =>
                {
                    p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                    retorno  &= CLS_QuestionarioRespostaPreenchimentoBO.Save(p, dao._Banco);
                }
                );

                lstDeficienciaDetalhe.ForEach
                (
                    p =>
                {
                    retorno &= CLS_AlunoDeficienciaDetalheBO.Save(p, dao._Banco);
                }
                );

                lstAcoesRealizadas.ForEach
                (
                    p =>
                {
                    if (p.rpa_situacao == (byte)CLS_RelatorioPreenchimentoAcoesRealizadasSituacao.Excluido)
                    {
                        retorno &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Delete(p, dao._Banco);
                    }
                    else
                    {
                        p.reap_id = relatorio.entityRelatorioPreenchimento.reap_id;
                        retorno  &= CLS_RelatorioPreenchimentoAcoesRealizadasBO.Save(p, dao._Banco);
                    }
                }
                );

                CLS_RelatorioAtendimento relatorioAtendimento = CLS_RelatorioAtendimentoBO.GetEntity(new CLS_RelatorioAtendimento {
                    rea_id = relatorio.entityRelatorioPreenchimento.rea_id
                });

                ACA_CalendarioAnual       calendario    = ACA_CalendarioAnualBO.SelecionaPorTurma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id);
                List <MTR_MatriculaTurma> matriculasAno = MTR_MatriculaTurmaBO.GetSelectMatriculasAlunoAno(relatorio.entityPreenchimentoAlunoTurmaDisciplina.alu_id, calendario.cal_ano);
                matriculasAno.ForEach(p => CLS_RelatorioPreenchimentoAlunoTurmaDisciplinaBO.LimpaCache_AlunoPreenchimentoPorPeriodoDisciplina(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id, p.tur_id));

                if (relatorioAtendimento.rea_gerarPendenciaFechamento &&
                    ACA_FormatoAvaliacaoBO.CarregarPorTur(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco).fav_fechamentoAutomatico)
                {
                    List <AlunoFechamentoPendencia> FilaProcessamento = new List <AlunoFechamentoPendencia>();
                    if (relatorioAtendimento.rea_tipo == (byte)CLS_RelatorioAtendimentoTipo.RP &&
                        relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id > 0)
                    {
                        if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0)
                        {
                            FilaProcessamento.Add(
                                new AlunoFechamentoPendencia
                            {
                                tud_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id
                                ,
                                tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            });
                        }
                        else
                        {
                            FilaProcessamento.AddRange(ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .Select(p => new AlunoFechamentoPendencia
                            {
                                tud_id         = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tud_id,
                                tpc_id         = p.tpc_id,
                                afp_frequencia = true,
                                afp_nota       = false,
                                afp_processado = 2
                            }).ToList());
                        }
                    }
                    else
                    {
                        if (relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id > 0)
                        {
                            FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .Select(p => new AlunoFechamentoPendencia
                            {
                                tud_id = p.tud_id
                                ,
                                tpc_id = relatorio.entityPreenchimentoAlunoTurmaDisciplina.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            }).ToList());
                        }
                        else
                        {
                            var periodos = ACA_CalendarioPeriodoBO.SelecionaPor_Calendario(calendario.cal_id, GestaoEscolarUtilBO.MinutosCacheLongo);
                            FilaProcessamento.AddRange(TUR_TurmaDisciplinaBO.GetSelectBy_Turma(relatorio.entityPreenchimentoAlunoTurmaDisciplina.tur_id, dao._Banco, GestaoEscolarUtilBO.MinutosCacheLongo)
                                                       .SelectMany
                                                       (
                                                           tud =>

                                                           periodos.Select
                                                           (
                                                               tpc =>
                                                               new AlunoFechamentoPendencia
                            {
                                tud_id = tud.tud_id
                                ,
                                tpc_id = tpc.tpc_id
                                ,
                                afp_frequencia = true
                                ,
                                afp_nota = true
                                ,
                                afp_processado = 2
                            }
                                                           ).ToList()
                                                       ));
                        }
                    }

                    if (FilaProcessamento.Any())
                    {
                        CLS_AlunoFechamentoPendenciaBO.SalvarFilaPendencias(FilaProcessamento, dao._Banco);
                    }
                }

                return(retorno);
            }
            catch (Exception ex)
            {
                dao._Banco.Close(ex);
                daoCore._Banco.Close(ex);
                throw;
            }
            finally
            {
                if (dao._Banco.ConnectionIsOpen)
                {
                    dao._Banco.Close();
                }

                if (daoCore._Banco.ConnectionIsOpen)
                {
                    daoCore._Banco.Close();
                }
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Override do Save passando o banco - salva tambem a tabela CLS_CompensacaoAusenciaAluno
        /// </summary>
        /// <param name="entity">Entidade a ser salva</param>
        /// <param name="lista">Lista de CLS_CompensacaoAusenciaAluno a ser salva</param>
        /// <param name="fechamentoAutomatico">Indica se o fechamento é automático.</param>
        /// <param name="banco">Transação com banco</param>
        /// <returns>Se salvou com sucesso</returns>
        public static bool Save(CLS_CompensacaoAusencia entity, List <CLS_CompensacaoAusenciaAluno> lista, bool fechamentoAutomatico, int cal_id, TalkDBTransaction banco)
        {
            // permite cadatrar compensacao apenas para o ultimo periodo aberto,
            // o metodo ja retorna os periodos abertos ordenados do mais recente para o mais antigo
            List <sComboPeriodoCalendario> dtPeriodos = ACA_TipoPeriodoCalendarioBO.SelecionaPor_PeriodoVigente_EventoEfetivacaoVigente(-1, entity.tud_id, -1, Guid.Empty, true);

            if (dtPeriodos.Count > 0 && dtPeriodos.Any(p => p.tpc_id == entity.tpc_id))
            {
                //validacoes
                DataTable dt = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusencia(
                    entity.tud_id,
                    entity.tpc_id,
                    0,
                    entity.cpa_id
                    );
                dt.PrimaryKey = new DataColumn[1] {
                    dt.Columns["alu_id"]
                };

                TUR_TurmaDisciplina turmaDisciplina = TUR_TurmaDisciplinaBO.GetEntity(new TUR_TurmaDisciplina {
                    tud_id = entity.tud_id
                });
                // se for disciplina especial
                if (turmaDisciplina.tud_disciplinaEspecial
                    // e o docente do tipo especial tem permissao de editar a compensacao
                    && CFG_PermissaoDocenteBO.SelecionaPermissaoModulo((byte)EnumTipoDocente.Especial, (byte)EnumModuloPermissao.Compensacoes).Any(p => p.pdc_permissaoEdicao))
                {
                    // adiciono na lista de validacao os aluno especiais
                    DataTable dtEspecial = MTR_MatriculaTurmaDisciplinaBO.SelecionaAtivosCompensacaoAusenciaFiltroDeficiencia(
                        -1,
                        entity.tud_id,
                        entity.tpc_id,
                        0,
                        EnumTipoDocente.Especial,
                        entity.cpa_id);
                    dt.Merge(dtEspecial, false, MissingSchemaAction.AddWithKey);
                }

                bool   valida       = true;
                string msgValidacao = "";

                if (turmaDisciplina.tud_tipo == (byte)TurmaDisciplinaTipo.Experiencia)
                {
                    if (!TUR_TurmaDisciplinaTerritorioBO.VerificaOferecimentoExperienciaBimestre(turmaDisciplina.tud_id, cal_id, entity.tpc_id))
                    {
                        valida        = false;
                        msgValidacao += "A experiência não possui territórios vigentes no bimestre.";
                    }
                }

                // caso exista alguma compensação já criada pro aluno
                // valida se pode existir alguma outra.
                foreach (CLS_CompensacaoAusenciaAluno cpaa in lista)
                {
                    var results = from row in dt.AsEnumerable()
                                  where row.Field <Int64>("alu_id") == cpaa.alu_id
                                  select row;

                    if (results.Count() > 0)
                    {
                        DataTable aux = results.CopyToDataTable();
                        int       totalFaltasCompensar = Convert.ToInt32(aux.Rows[0]["TotalFaltasCompensar"]);
                        if (entity.cpa_quantidadeAulasCompensadas > totalFaltasCompensar)
                        {
                            valida        = false;
                            msgValidacao += String.Format("Aluno(a) {0} não pode ter essa quantidade de ausências compensadas. </br>", aux.Rows[0]["pes_nome"].ToString());
                        }
                    }
                    else
                    {
                        valida = false;
                        ACA_Aluno aluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                            alu_id = cpaa.alu_id
                        });
                        PES_Pessoa pes = PES_PessoaBO.GetEntity(new PES_Pessoa {
                            pes_id = aluno.pes_id
                        });
                        msgValidacao += String.Format("Aluno(a) {0} não pode ter ausências compensadas nos bimestres em que não estava na turma. </br>", pes.pes_nome);
                    }
                }
                if (!valida)
                {
                    throw new ValidationException(msgValidacao);
                }

                // Salva CLS_CompensacaoAusencia
                if (!Save(entity, banco))
                {
                    throw new Exception("Erro ao tentar salvar compensação de ausência.");
                }

                // Caso o fechamento seja automático, grava na fila de processamento.
                if (fechamentoAutomatico && entity.tpc_id != ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.TIPO_PERIODO_CALENDARIO_RECESSO, new Guid()))
                {
                    CLS_AlunoFechamentoPendenciaBO.SalvarFilaFrequencia(entity.tud_id, entity.tpc_id, banco);
                }

                List <CLS_CompensacaoAusenciaAluno> listaBanco = CLS_CompensacaoAusenciaAlunoBO.SelectByCpa_id(entity.cpa_id, entity.tud_id);

                foreach (CLS_CompensacaoAusenciaAluno item in lista)
                {
                    CLS_CompensacaoAusenciaAluno ent = listaBanco.Find(p => p.tud_id == item.tud_id &&
                                                                       p.cpa_id == entity.cpa_id &&
                                                                       p.alu_id == item.alu_id &&
                                                                       p.mtd_id == item.mtd_id &&
                                                                       p.mtu_id == item.mtu_id);

                    if (ent != null)
                    {
                        // Achou na lista que vem no banco, altera.
                        ent.IsNew = false;
                        CLS_CompensacaoAusenciaAlunoBO.Save(ent, banco);

                        // Remove o registro da lista do banco para restar somente os que serao excluidos.
                        listaBanco.Remove(ent);
                    }
                    else
                    {
                        // Não achou na lista do banco, inclui.
                        item.cpa_id = entity.cpa_id;
                        CLS_CompensacaoAusenciaAlunoBO.GetEntity(item, banco);
                        if (item.caa_situacao == 3)
                        {
                            item.caa_situacao = 1;
                            item.IsNew        = false;
                        }
                        else
                        {
                            item.IsNew = true;
                        }
                        CLS_CompensacaoAusenciaAlunoBO.Save(item, banco);
                    }
                }

                if (listaBanco.Count > 0)
                {
                    foreach (CLS_CompensacaoAusenciaAluno item in listaBanco)
                    {
                        CLS_CompensacaoAusenciaAlunoBO.Delete(item, banco);
                    }
                }
            }
            else
            {
                throw new ValidationException("Não existe evento de fechamento do bimestre aberto para realizar o lançamento.");
            }
            return(true);
        }
Exemplo n.º 13
0
        /// <summary>
        /// Validar idade do aluno de acordo com o CurriculoPeriodo no qual ele está inserido.
        /// Valida a idade máxima ideal + a amplitude do parâmetro acadêmico ou o valor informado
        /// no parâmetro amplitude.
        /// Valida a idade mínima ideal quando informado através da flag validarIdadeMinima - quando
        /// informada sempre valida usando a amplitudo passada por parâmetro na função.
        /// </summary>
        /// <param name="entity">Entidade AlunoCurriculo carregada</param>
        /// <param name="bancoGestao">Transação com banco Gestão - obrigatório</param>
        /// <param name="bancoCore">Transação com banco CoreSSO - opcional</param>
        /// <param name="validarIdadeMinima">Flag que indica se é pra validar idade mínima também</param>
        /// <param name="amplitude">Amplitude, se > 0, substitui a amplitude do parâmetro acadêmico</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        /// <returns>Se idade válida</returns>
        internal static bool ValidarIdadeIdeal
        (
            ACA_AlunoCurriculo entity
            , TalkDBTransaction bancoGestao
            , TalkDBTransaction bancoCore
            , bool validarIdadeMinima
            , int amplitude
            , Guid ent_id
        )
        {
            ACA_Aluno entAluno = new ACA_Aluno {
                alu_id = entity.alu_id
            };

            ACA_AlunoBO.GetEntity(entAluno, bancoGestao);

            if (entAluno.alu_situacao != Convert.ToByte(ACA_AlunoSituacao.Inativo))
            {
                if (entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.Ativo) ||
                    entity.alc_situacao == Convert.ToByte(ACA_AlunoCurriculoSituacao.EmMatricula))
                {
                    ACA_CurriculoPeriodo entCurPer = new ACA_CurriculoPeriodo {
                        cur_id = entity.cur_id, crr_id = entity.crr_id, crp_id = entity.crp_id
                    };
                    ACA_CurriculoPeriodoBO.GetEntity(entCurPer, bancoGestao);

                    PES_Pessoa entPessoa = new PES_Pessoa {
                        pes_id = entAluno.pes_id
                    };
                    if (bancoCore == null)
                    {
                        PES_PessoaBO.GetEntity(entPessoa);
                    }
                    else
                    {
                        PES_PessoaBO.GetEntity(entPessoa, bancoCore);
                    }

                    // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo.
                    int idadeMaxima = (entCurPer.crp_idadeIdealAnoFim * 12) + entCurPer.crp_idadeIdealMesFim;

                    if (amplitude > 0)
                    {
                        idadeMaxima += amplitude;
                    }
                    else
                    {
                        int pac_valor = ACA_ParametroAcademicoBO.ParametroValorInt32PorEntidade(eChaveAcademico.AMPLITUDE_IDADE_ALERTA, ent_id);

                        // Soma quantidade em meses do parâmetro de amplitude.
                        idadeMaxima += (pac_valor > 0 ? (pac_valor * 12) : 0);
                    }

                    // Valida a quantidade de meses da idade da criança.
                    int anos, meses, dias;
                    GestaoEscolarUtilBO.CalculaAniversarioCompleto(DateTime.Now, entPessoa.pes_dataNascimento, out anos, out meses, out dias);

                    int idade = (anos * 12) + meses;

                    if (idade > idadeMaxima)
                    {
                        anos  = idadeMaxima / 12;
                        meses = idadeMaxima % 12;

                        string sAnos  = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty;
                        string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty;
                        throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser maior que " + sAnos + sMeses + ".");
                    }

                    ACA_Curriculo curso = ACA_CurriculoBO.GetEntity(new ACA_Curriculo {
                        cur_id = entity.cur_id, crr_id = entity.crr_id
                    });

                    if (validarIdadeMinima &&
                        curso.crr_regimeMatricula == 3 &&
                        ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.VALIDAR_IDADE_MINIMA_PEJA, ent_id))
                    {
                        // Quantidade de meses da idade máxima da criança cadastrada no CurrPeriodo.
                        int idadeMinima = (entCurPer.crp_idadeIdealAnoInicio * 12) + entCurPer.crp_idadeIdealMesInicio;

                        idadeMinima -= amplitude;

                        if (idade < idadeMinima)
                        {
                            anos  = idadeMinima / 12;
                            meses = idadeMinima % 12;

                            string sAnos  = anos > 0 ? (anos + (anos > 1 ? " anos" : " ano")) : string.Empty;
                            string sMeses = meses > 0 ? (anos > 0 ? " e " : "") + meses + (meses > 1 ? " meses" : " mês") : string.Empty;
                            throw new ACA_Aluno_ValidationException("A idade do aluno não pode ser menor que " + sAnos + sMeses + ".");
                        }
                    }
                }
            }

            return(true);
        }
Exemplo n.º 14
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //Exibe o título no navegador
            Page.Title = __SessionWEB.TituloGeral;

            #region Adiciona links de favicon

            HtmlLink link = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon.ico");
            link.Attributes["rel"]   = "shortcut icon";
            link.Attributes["sizes"] = "";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-57x57.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "57x57";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-114x114.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "114x114";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-72x72.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "72x72";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-144x144.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "144x144";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-60x60.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "60x60";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-120x120.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "120x120";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-76x76.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "76x76";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/apple-touch-icon-152x152.png");
            link.Attributes["rel"]   = "apple-touch-icon";
            link.Attributes["sizes"] = "152x152";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-196x196.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "196x196";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-160x160.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "160x160";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-96x96.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "96x96";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-16x16.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "16x16";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-32x32.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "32x32";
            Page.Header.Controls.Add(link);

            link      = new HtmlLink();
            link.Href = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/favicon-32x32.png");
            link.Attributes["rel"]   = "icon";
            link.Attributes["sizes"] = "32x32";
            Page.Header.Controls.Add(link);

            HtmlMeta meta = new HtmlMeta();
            meta.Name    = "msapplication-TileImage";
            meta.Content = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/mstile-144x144.png");
            Page.Header.Controls.Add(meta);

            meta         = new HtmlMeta();
            meta.Name    = "msapplication-config";
            meta.Content = ResolveUrl("~/App_Themes/" + TemaAtual + "/images/favicons/browserconfig.xml");
            Page.Header.Controls.Add(meta);

            #endregion Adiciona links de favicon


            if (ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.EXIBIR_LISTA_SISTEMAS_AREA_ALUNO, __SessionWEB.__UsuarioWEB.Usuario.ent_id) &&
                !ApplicationWEB.LoginProprioDoSistema)
            {
                //Carrega logo geral do sistema
                imgGeral.ImageUrl        = UtilBO.UrlImagemGestao(__SessionWEB.UrlCoreSSO, __SessionWEB.UrlLogoGeral);
                imgGeral.ToolTip         = __SessionWEB.TituloGeral;
                imgGeral.AlternateText   = __SessionWEB.TituloGeral;
                ImgLogoGeral.ToolTip     = __SessionWEB.TituloGeral;
                ImgLogoGeral.NavigateUrl = __SessionWEB.UrlCoreSSO + "/Sistema.aspx";
            }
            else
            {
                h1Logo.Visible = ImgLogoGeral.Visible = false;
                if (UCSistemas1 != null)
                {
                    UCSistemas1.Visible = false;
                }
            }

            //Atribui o caminho do logo do sistema atual, caso ele exista no Sistema Administrativo
            if (string.IsNullOrEmpty(__SessionWEB.UrlLogoSistema))
            {
                ImgLogoSistemaAtual.Visible = false;
            }
            else
            {
                //Carrega logo do sistema atual
                imgSistemaAtual.ImageUrl        = UtilBO.UrlImagemGestao(__SessionWEB.UrlCoreSSO, __SessionWEB.UrlLogoSistema);
                imgSistemaAtual.AlternateText   = __SessionWEB.TituloSistema;
                imgSistemaAtual.ToolTip         = __SessionWEB.TituloSistema;
                ImgLogoSistemaAtual.ToolTip     = __SessionWEB.TituloSistema;
                ImgLogoSistemaAtual.NavigateUrl = "~/Index.aspx";
            }

            try
            {
                // Busca dados do aluno

                Int64 alu_id = 0;
                if (__SessionWEB.__UsuarioWEB.responsavel && __SessionWEB.__UsuarioWEB.alu_id > 0)
                {
                    alu_id = __SessionWEB.__UsuarioWEB.alu_id;
                }
                else if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.pes_idAluno);
                }
                else
                {
                    alu_id = ACA_AlunoBO.SelectAlunoby_pes_id(__SessionWEB.__UsuarioWEB.Usuario.pes_id);
                }

                bool boletimBloqueado           = false;
                bool compromissoEstudoBloqueado = false;
                if (alu_id > 0)
                {
                    compromissoEstudoBloqueado = !ACA_TipoCicloBO.VerificaSeExibeCompromissoAluno(alu_id);
                    DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);
                    if (dtCurriculo.Rows.Count > 0)
                    {
                        string nomeAluno = dtCurriculo.Rows[0]["pes_nome"].ToString();
                        string parametroMatriculaEstadual = ACA_ParametroAcademicoBO.ParametroValorPorEntidade(eChaveAcademico.MATRICULA_ESTADUAL, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                        string matriculaEstadual          = dtCurriculo.Rows[0]["alc_matriculaEstadual"].ToString();
                        string numeroMatricula            = dtCurriculo.Rows[0]["alc_matricula"].ToString();

                        litNomeAluno.Text    = __SessionWEB.__UsuarioWEB.responsavel ? (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "litNomeAluno.Text.Responsavel") : (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "litNomeAluno.Text.Aluno");
                        lblNomeAluno.Text    = nomeAluno;
                        lblMatricula.Text    = string.IsNullOrEmpty(parametroMatriculaEstadual) ? numeroMatricula : matriculaEstadual;
                        lblNroMatricula.Text = string.IsNullOrEmpty(parametroMatriculaEstadual)
                            ? GetGlobalResourceObject("AreaAluno", "MasterPageAluno.lblNroMatricula.Text").ToString()
                            : parametroMatriculaEstadual + ":";
                    }

                    ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                        alu_id = alu_id
                    });
                    if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline)
                    {
                        boletimBloqueado = true;
                    }
                }

                if (__SessionWEB.__UsuarioWEB.responsavel && boletimBloqueado)
                {
                    Response.Redirect("~/Index.aspx", false);
                    HttpContext.Current.ApplicationInstance.CompleteRequest();
                }

                // Se ja tiver logado mostra o linkbutton pra selecionar o aluno, senão esconde
                if (Session["Pes_Id_Responsavel"] != null)
                {
                    if (Convert.ToInt32(Session["Qtde_Filhos_Responsavel"]) > 1)
                    {
                        lbSelecaoAlunos.Visible = true;
                    }
                    else
                    {
                        lbSelecaoAlunos.Visible = false;
                    }
                    imgLogoAreaAluno.Visible = false;
                    imgLogoAreaResp.Visible  = true;
                }
                else
                {
                    lbSelecaoAlunos.Visible  = false;
                    imgLogoAreaAluno.Visible = true;
                    imgLogoAreaResp.Visible  = false;
                }

                // Busca dados do menu

                int mod_id = GetModuloId;

                string menuXml = SYS_ModuloBO.CarregarSiteMapXML2(
                    __SessionWEB.__UsuarioWEB.Grupo.gru_id,
                    __SessionWEB.__UsuarioWEB.Grupo.sis_id,
                    __SessionWEB.__UsuarioWEB.Grupo.vis_id,
                    mod_id
                    );

                if (String.IsNullOrEmpty(menuXml))
                {
                    menuXml = "<menus/>";
                }
                menuXml = menuXml.Replace("url=\"~/", String.Concat("url=\"", ApplicationWEB._DiretorioVirtual));

                // Verifica se o aluno está com o boletim bloqueado. Se estiver, retiro do menu.
                int indiceBoletim = menuXml.IndexOf("<menu id=\"Boletim");
                if (boletimBloqueado && indiceBoletim >= 0)
                {
                    menuXml = menuXml.Remove(indiceBoletim, menuXml.IndexOf("/>", indiceBoletim) - indiceBoletim + 2);
                }

                IDictionary <string, ICFG_Configuracao> configuracao;
                MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao);
                if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor))
                {
                    string url            = HttpContext.Current.Request.Url.AbsoluteUri;
                    string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor;

                    if (url.Contains(configInfantil))
                    {
                        menuXml = menuXml.Replace("menu id=\"Boletim Online\"", "menu id=\"" + (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil") + "\"");
                    }
                }

                // Verifica se o aluno está com o compromisso estudo bloqueado. Se estiver, retiro do menu.
                int indiceCompromissoEstudo = menuXml.IndexOf("<menu id=\"Compromisso de Estudo");
                if (compromissoEstudoBloqueado && indiceCompromissoEstudo >= 0)
                {
                    menuXml = menuXml.Remove(indiceCompromissoEstudo, menuXml.IndexOf("/>", indiceCompromissoEstudo) - indiceCompromissoEstudo + 2);
                }

                XmlTextReader        reader  = new XmlTextReader(new StringReader(menuXml));
                XPathDocument        treeDoc = new XPathDocument(reader);
                XslCompiledTransform siteMap = new XslCompiledTransform();

                if (__SessionWEB.__UsuarioWEB.responsavel)
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapPagesResponsavel.xslt"));
                }
                else
                {
                    siteMap.Load(String.Concat(__SessionWEB._AreaAtual._DiretorioIncludes, "SiteMapPages.xslt"));
                }

                string page = Page.Request.Url.ToString();

                StringWriter sw = new StringWriter();
                siteMap.Transform(treeDoc, null, sw);

                string result = sw.ToString();


                //Carrega a lista de link e moduloId
                Dictionary <string, string> linkModulo = new Dictionary <string, string>();
                string[] linkMenusXml = menuXml.Split(new[] { "<menu id=\"" }, StringSplitOptions.None);
                if (linkMenusXml.Length > 0)
                {
                    bool primeiroItem = true;
                    foreach (string item in linkMenusXml)
                    {
                        if (!primeiroItem)
                        {
                            string link2  = item.Substring(item.IndexOf("url=\"") + 5, item.Substring(item.IndexOf("url=\"") + 5).IndexOf("\""));
                            string modulo = item.Substring(0, item.IndexOf("\""));
                            linkModulo.Add(link2, modulo);
                        }
                        primeiroItem = false;
                    }
                }

                //Carrega a lista de link e classe css atual
                Dictionary <string, string> linkClasse = new Dictionary <string, string>();
                string[] linkMenus = result.Split(new[] { "<li class=\"txtSubMenu\"><a " }, StringSplitOptions.None);
                if (linkMenus.Length > 0)
                {
                    bool primeiroItem = true;
                    foreach (string item in linkMenus)
                    {
                        if (!primeiroItem)
                        {
                            string link2  = item.Substring(item.IndexOf("href=\"") + 6, item.Substring(item.IndexOf("href=\"") + 6).IndexOf("\""));
                            string classe = item.Substring(item.IndexOf("class=\"") + 7, item.Substring(item.IndexOf("class=\"") + 7).IndexOf("\""));
                            linkClasse.Add(link2, "class=\"" + classe + "\" " + "href=\"" + link2);
                        }
                        primeiroItem = false;
                    }
                }

                //Troca a classe css atual do link conforme o que está configurado na tabela filtrando pelo modulo
                List <CFG_ModuloClasse> lstModClasse = new List <CFG_ModuloClasse>();
                if (linkModulo.Count > 0 && linkClasse.Count > 0)
                {
                    lstModClasse = CFG_ModuloClasseBO.SelecionaAtivos(ApplicationWEB.AreaAlunoSistemaID);
                    foreach (var item in linkClasse)
                    {
                        string modulo = linkModulo[item.Key];
                        if (!string.IsNullOrEmpty(modulo) && lstModClasse.Any(p => p.mod_nome == modulo))
                        {
                            string classeCfg = lstModClasse.Where(p => p.mod_nome == modulo).FirstOrDefault().mdc_classe;
                            if (!string.IsNullOrEmpty(classeCfg))
                            {
                                result = result.Replace(item.Value, "class=\"link " + classeCfg + "\" " + "href=\"" + item.Key);
                            }
                        }
                    }
                }


                int indexPagina = result.IndexOf(Page.Request.Url.ToString()) > 0 ? result.IndexOf(Page.Request.Url.ToString()) : result.IndexOf(Page.Request.UrlReferrer.ToString());
                int indexClasse = 0;
                if (indexPagina > 0)
                {
                    indexClasse = result.IndexOf("txtSubMenu", (indexPagina - 60), result.Length - indexPagina);
                }

                string resultClasse = result.Substring(indexClasse);

                // Busca menu que está sendo chamado, para adicionar a classe ativo para a aba selecionada
                if (indexClasse > 0)
                {
                    result = result.Replace(resultClasse, "ativo " + resultClasse);
                }

                Control ctrl = Page.ParseControl(result);
                menuAreaAlunoComponentes.Controls.Add(ctrl);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// Salva no banco os dados do item passado por parâmetro, retorna o item inserido.
        /// </summary>
        /// <param name="tra_idPrincipal">ID do tipo de responsável</param>
        /// <param name="entAluno">Aluno</param>
        /// <param name="item">Item a ser inserido</param>
        /// <param name="tra_idProprio">Id padrão do tipo de responsável "O próprio"</param>
        /// <param name="bancoCore">Transação do banco do Core</param>
        /// <param name="tra_idMae">Id padrão do tipo de responsável "Mãe"</param>
        /// <param name="tra_idPai">Id padrão do tipo de responsável "Pai"</param>
        /// <param name="bancoGestao">Transação do banco do Gestão</param>
        /// <param name="tdo_idCPF">ID padrão do tipo de documento CPF</param>
        /// <param name="tdo_idRG">ID padrão do tipo de documento RG</param>
        /// <param name="tdo_idNis">ID padrão do tipo de documento NIS</param>
        /// <param name="pes_idMae">ref - id da Mãe do aluno</param>
        /// <param name="pes_idPai">ref - id do Pai do aluno</param>
        /// <param name="salvarMaiusculo">Indica se os nomes devem ser salvos em maiúsculos</param>
        /// <param name="ListValidacoesDoc"></param>
        /// <param name="ListSalvar">Lista de responsaveis que estao sendo salvos, para nao considerar o mesmo documento</param>
        /// <param name="ent_id">Id da entidade do usuário logado.</param>
        /// <returns>Os dados inseridos</returns>
        private static StructCadastro SalvarResponsavel
        (
            Int32 tra_idPrincipal
            , ACA_Aluno entAluno
            , StructCadastro item
            , int tra_idProprio
            , TalkDBTransaction bancoCore
            , int tra_idMae
            , int tra_idPai
            , TalkDBTransaction bancoGestao
            , Guid tdo_idCPF
            , Guid tdo_idRG
            , Guid tdo_idNis
            , ref Guid pes_idMae
            , ref Guid pes_idPai
            , bool salvarMaiusculo
            , ref List <string> ListValidacoesDoc
            , List <StructCadastro> ListSalvar
            , Guid ent_id
        )
        {
            // Salvar os responsáveis.
            ACA_AlunoResponsavel       entResp   = item.entAlunoResp;
            PES_Pessoa                 entPessoa = item.entPessoa;
            List <PES_PessoaDocumento> lisDocResp;

            entResp.alu_id = entAluno.alu_id;

            if (entResp.tra_id == tra_idProprio)
            {
                // Se for o próprio, seta o id da Pessoa = o Id da pessoa do aluno.
                entResp.pes_id = entAluno.pes_id;

                // Salvar a integridade da pessoa.
                if (entResp.IsNew)
                {
                    PES_PessoaBO.IncrementaIntegridade(entAluno.pes_id, bancoCore);
                }
            }
            else
            {
                if ((salvarMaiusculo) && (!String.IsNullOrEmpty(entPessoa.pes_nome)))
                {
                    entPessoa.pes_nome = entPessoa.pes_nome.ToUpper();
                }

                // Só salva a pessoa se o nome estiver preenchido.
                if (!String.IsNullOrEmpty(entPessoa.pes_nome))
                {
                    // Faz a verificação caso exista a pessoa com o CPF passado por parâmetro.
                    Guid responsavel = Valida_Responsavel_CPF(item.listPessoaDoc, entResp.tra_id, ref ListValidacoesDoc, ent_id, entPessoa.pes_id, ListSalvar);
                    if (responsavel == new Guid())
                    {
                        // Se não existir, salva a entidade pessoa.
                        PES_PessoaBO.Save(entPessoa, bancoCore);
                    }
                    else
                    {
                        entPessoa.pes_id = responsavel;
                        entPessoa.IsNew  = false;

                        #region Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome)

                        //Atualiza apenas o nome do responsável, recebendo todas as informações ja cadastradas
                        PES_Pessoa pesAux = new PES_Pessoa
                        {
                            pes_id = entPessoa.pes_id
                        };
                        PES_PessoaBO.GetEntity(pesAux);

                        pesAux.pes_nome = entPessoa.pes_nome;
                        //// movimentado os valores por que esses campos não estavam sendo gravados
                        pesAux.pes_dataNascimento = entPessoa.pes_dataNascimento;
                        pesAux.pes_estadoCivil    = entPessoa.pes_estadoCivil;
                        pesAux.tes_id             = entPessoa.tes_id;
                        ////
                        entPessoa = pesAux;

                        #endregion Atualiza - Entidade Pessoa (Cria uma entidade auxiliar para atualizar apenas o nome)

                        // Se for matricula
                        if (entAluno.IsNew)
                        {
                            #region Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação)

                            //Faz verificação se existe as informações referente a profissão e situação do responsável
                            byte   situacao_responsavel;
                            string profissao_responsavel;

                            RetornaAlunoResponsavel_Situacao_Profissao(entPessoa.pes_id, out situacao_responsavel, out profissao_responsavel);

                            if (situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido))
                            {
                                entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido);
                            }
                            else
                            {
                                entResp.alr_situacao = Convert.ToByte(ACA_AlunoResponsavelSituacao.Ativo);
                            }

                            entResp.alr_profissao = profissao_responsavel;

                            #endregion Atualiza - Entidade Aluno Responsavel (Caso existir a informações referente a profissão e situação)
                        }
                        else
                        {
                            // Caso já exista o responsável, será atualizado os campos: situção (Quando for falecido = 4) e o campo profissão.
                            AtualizaResponsavel_Profissao_Situacao(entPessoa.pes_id, entResp.alr_profissao, entResp.alr_empresa, entResp.alr_situacao, bancoGestao);
                        }

                        PES_PessoaBO.Save(entPessoa, bancoCore);
                    }
                }
                else
                {
                    entPessoa.pes_id = Guid.Empty;
                }

                if ((entPessoa.IsNew) || (entResp.IsNew))
                {
                    PES_PessoaBO.IncrementaIntegridade(entPessoa.pes_id, bancoCore);
                }

                entResp.pes_id = entPessoa.pes_id;

                // Seta o Id da mãe e do Pai para alterar na pessoa do aluno.
                if (entResp.tra_id == tra_idMae)
                {
                    pes_idMae = entPessoa.pes_id;
                }
                else if (entResp.tra_id == tra_idPai)
                {
                    pes_idPai = entPessoa.pes_id;
                }
            }

            // Seta responsável principal.
            entResp.alr_principal = (entResp.tra_id == tra_idPrincipal);

            Save(entResp, bancoGestao);

            if (entResp.tra_id != tra_idProprio)
            {
                // Salva os documentos dos responsáveis
                lisDocResp = SalvaDocumentoResponsavel(
                    item.listPessoaDoc
                    , entResp.pes_id
                    , tra_idProprio
                    , entResp.tra_id
                    , tdo_idCPF
                    , tdo_idRG
                    , tdo_idNis
                    , bancoCore
                    , ref ListValidacoesDoc);
            }
            else
            {
                lisDocResp = new List <PES_PessoaDocumento>();
            }

            // Retorna item inserido.
            return(new StructCadastro
            {
                entAlunoResp = entResp,
                entPessoa = entPessoa,
                listPessoaDoc = lisDocResp
            });
        }
Exemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ScriptManager sm = ScriptManager.GetCurrent(this);

            if (sm != null)
            {
                sm.Scripts.Add(new ScriptReference(ArquivoJS.JQueryValidation));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos));
                sm.Scripts.Add(new ScriptReference(ArquivoJS.CamposData));

                sm.Scripts.Add(new ScriptReference("~/includes/jquery.PrintBoletim.js"));
            }

            try
            {
                if (!IsPostBack)
                {
                    if ((__SessionWEB.__UsuarioWEB ?? new UsuarioWEB()).alu_id <= 0)
                    {
                        throw new ValidationException("Usuário não autorizado a exibir a Área do Aluno.");
                    }

                    IDictionary <string, ICFG_Configuracao> configuracao;
                    MSTech.GestaoEscolar.BLL.CFG_ConfiguracaoBO.Consultar(eConfig.Academico, out configuracao);
                    if (configuracao.ContainsKey("AppURLAreaAlunoInfantil") && !string.IsNullOrEmpty(configuracao["AppURLAreaAlunoInfantil"].cfg_valor))
                    {
                        string url            = HttpContext.Current.Request.Url.AbsoluteUri;
                        string configInfantil = configuracao["AppURLAreaAlunoInfantil"].cfg_valor;

                        if (url.Contains(configInfantil))
                        {
                            VS_nomeBoletim = (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimInfantil");
                        }
                        else
                        {
                            VS_nomeBoletim = (string)GetGlobalResourceObject("AreaAluno.MasterPageAluno", "MenuBoletimOnline");
                        }
                    }

                    ACA_Aluno entityAluno = ACA_AlunoBO.GetEntity(new ACA_Aluno {
                        alu_id = __SessionWEB.__UsuarioWEB.alu_id
                    });
                    if (entityAluno.alu_possuiInformacaoSigilosa && entityAluno.alu_bloqueioBoletimOnline)
                    {
                        Response.Redirect("~/Index.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }

                    UCComboAnosLetivos.CarregarComboAnosLetivos(__SessionWEB.__UsuarioWEB.alu_id, 0);

                    // Selecionar o mtu_id que está na sessão do aluno.

                    var valores = (from ListItem item in UCComboAnosLetivos.Combo.Items
                                   let mtu_id_cal_id = item.Value.Split(',')
                                                       where mtu_id_cal_id.Length > 0 &&
                                                       mtu_id_cal_id[0] == __SessionWEB.__UsuarioWEB.mtu_id.ToString()
                                                       select item.Value);

                    if (valores.Any() && UCComboAnosLetivos.Combo.Items.FindByValue(valores.First()) != null)
                    {
                        UCComboAnosLetivos.mtu_id = __SessionWEB.__UsuarioWEB.mtu_id;
                    }

                    //int mtu_id = 0;
                    //int tpc_id = 0;

                    //if (mtu_id == 0)
                    //{
                    //    mtu_id = (string.IsNullOrEmpty(UCComboAnosLetivos.Valor)
                    //                   ? __SessionWEB.__UsuarioWEB.mtu_id
                    //                   : Convert.ToInt32(UCComboAnosLetivos.Valor));
                    //}

                    //if (tpc_id == 0)
                    //{
                    //    if ((UCComboAnosLetivos.Ano == DateTime.Now.Year) && (__SessionWEB.__UsuarioWEB.tpc_id > 0))
                    //    {
                    //        tpc_id = __SessionWEB.__UsuarioWEB.tpc_id;
                    //    }
                    //}

                    //Session["tpc_id"] = tpc_id;
                    //Session["alu_ids"] = __SessionWEB.__UsuarioWEB.alu_id;
                    //Session["mtu_ids"] = mtu_id;
                    //Session["mostrarPeriodos"] = true;

                    CarregarBoletimPorComboAnoLetivo(0, 0);
                }
            }
            catch (ValidationException ex)
            {
                lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage("Erro ao exibir o " + VS_nomeBoletim + " do aluno.", UtilBO.TipoMensagem.Erro);
            }

            UCComboAnosLetivos.IndexChanged += AnosLetivos_SelectedIndexChanged;
        }
Exemplo n.º 17
0
        /// <summary>
        /// Salva os contatos da fica médica do aluno.
        /// </summary>
        /// <param name="bancoGestao">Transação - obrigatório</param>
        /// <param name="entityAluno">Aluno</param>
        /// <param name="Salvar_Sempre_Maiusculo">Flag que indica se deve ser salvo em maiúsculo os dados.</param>
        /// <param name="dtFichaMedicaContato">Tabela de contatos a salvar.</param>
        public static void SalvarFichaMedicaContatosAluno(TalkDBTransaction bancoGestao, ACA_Aluno entityAluno, bool Salvar_Sempre_Maiusculo, DataTable dtFichaMedicaContato)
        {
            ACA_FichaMedicaContato entityFichaMedicaContato = new ACA_FichaMedicaContato
            {
                alu_id = entityAluno.alu_id
            };

            int ordem = 1;

            // Salvar ficha médica contato.
            for (int j = 0; j < dtFichaMedicaContato.Rows.Count; j++)
            {
                if (dtFichaMedicaContato.Rows[j].RowState != DataRowState.Deleted)
                {
                    if (dtFichaMedicaContato.Rows[j].RowState == DataRowState.Added)
                    {
                        entityFichaMedicaContato.fmc_id       = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["fmc_id"].ToString());
                        entityFichaMedicaContato.fmc_nome     = Salvar_Sempre_Maiusculo ? dtFichaMedicaContato.Rows[j]["fmc_nome"].ToString().ToUpper() : dtFichaMedicaContato.Rows[j]["fmc_nome"].ToString();
                        entityFichaMedicaContato.fmc_telefone = dtFichaMedicaContato.Rows[j]["fmc_telefone"].ToString();
                        if (!string.IsNullOrEmpty(dtFichaMedicaContato.Rows[j]["tra_id"].ToString()))
                        {
                            entityFichaMedicaContato.tra_id = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["tra_id"].ToString());
                        }
                        entityFichaMedicaContato.fmc_ordem = ordem;

                        ordem = ordem + 1;

                        Save(entityFichaMedicaContato, bancoGestao);
                    }
                    else if (dtFichaMedicaContato.Rows[j].RowState == DataRowState.Modified)
                    {
                        entityFichaMedicaContato.fmc_id       = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["fmc_id"].ToString());
                        entityFichaMedicaContato.fmc_nome     = Salvar_Sempre_Maiusculo ? dtFichaMedicaContato.Rows[j]["fmc_nome"].ToString().ToUpper() : dtFichaMedicaContato.Rows[j]["fmc_nome"].ToString();
                        entityFichaMedicaContato.fmc_telefone = dtFichaMedicaContato.Rows[j]["fmc_telefone"].ToString();
                        if (!string.IsNullOrEmpty(dtFichaMedicaContato.Rows[j]["tra_id"].ToString()))
                        {
                            entityFichaMedicaContato.tra_id = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["tra_id"].ToString());
                        }
                        entityFichaMedicaContato.fmc_ordem = ordem;

                        ordem = ordem + 1;

                        Delete(entityFichaMedicaContato, bancoGestao);

                        Save(entityFichaMedicaContato, bancoGestao);
                    }
                }
                else
                {
                    entityFichaMedicaContato.fmc_id       = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["fmc_id", DataRowVersion.Original].ToString());
                    entityFichaMedicaContato.fmc_nome     = dtFichaMedicaContato.Rows[j]["fmc_nome", DataRowVersion.Original].ToString();
                    entityFichaMedicaContato.fmc_telefone = dtFichaMedicaContato.Rows[j]["fmc_telefone", DataRowVersion.Original].ToString();
                    if (!string.IsNullOrEmpty(dtFichaMedicaContato.Rows[j]["tra_id", DataRowVersion.Original].ToString()))
                    {
                        entityFichaMedicaContato.tra_id = Convert.ToInt32(dtFichaMedicaContato.Rows[j]["tra_id", DataRowVersion.Original].ToString());
                    }

                    Delete(entityFichaMedicaContato, bancoGestao);
                }
            }
        }