/// <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."); } }
/// <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); }
/// <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); }
/// <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); } }
/// <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 += " <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 + " "; } } else { if (!string.IsNullOrEmpty(numeroMatricula)) { lblInformacaoAluno.Text += "<b> " + GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": " + "</b>" + numeroMatricula + " "; } } //Turma lblInformacaoAluno.Text += "<b>Turma: </b>" + turmaCodigo; if (!string.IsNullOrEmpty(turno)) { //Turno lblInformacaoAluno.Text += " <b>Turno: </b>" + turno; } //Avaliação if (!string.IsNullOrEmpty(nomeAvaliacao) && !string.IsNullOrEmpty(numeroAvaliacao)) { lblInformacaoAluno.Text += " <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 += " <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); } }
/// <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); } }
/// <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); } }
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); } }
/// <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 + " "; } } else { if (!string.IsNullOrEmpty(numeroMatricula)) { lblInformacaoAluno.Text += GetGlobalResourceObject("Mensagens", "MSG_NUMEROMATRICULA") + ": <b>" + numeroMatricula + "</b>" + " "; } } __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(); } }
/// <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 + "."); } } }
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(); } } }
/// <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); }
/// <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); }
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); } }
/// <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 }); }
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; }
/// <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); } } }