public static DataTable BuscarResponsaveis ( Guid ent_id , string nome , string cpf , string rg , string nis , int currentPage , int pageSize ) { ACA_AlunoResponsavelDAO dao = new ACA_AlunoResponsavelDAO(); // 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); return(dao.SelectBuscaResponsaveis(ent_id, nome, cpf, rg, nis, tdo_idCPF, tdo_idRG, tdo_idNis, currentPage, pageSize, out totalRecords)); }
/// <summary> /// Inserindo em uma lista os documentos referente /// ao responsável. /// </summary> /// <param name="pes_id">id da pessoa</param> /// <param name="documentoCPF">o número do CPF</param> /// <param name="documentoRG">o número do RG</param> /// <param name="documentoNIS">o número do NIS</param> /// <returns>uma lista dos documentos referente a pessoa</returns> private List <PES_PessoaDocumento> InserirDocumentoResponsavel(Guid pes_id, string documentoCPF, string documentoRG, string documentoNIS) { List <PES_PessoaDocumento> lista = new List <PES_PessoaDocumento>(); // Caso for declarado o CPF, será inserindo uma lista. if (!string.IsNullOrEmpty(documentoCPF)) { //Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); PES_PessoaDocumento entityPessoaDocumento = new PES_PessoaDocumento { pes_id = pes_id , tdo_id = new Guid(docPadraoCPF) , psd_numero = documentoCPF }; lista.Add(entityPessoaDocumento); } // Caso for declarado o RG, será inserindo em uma lista. if (!string.IsNullOrEmpty(documentoRG)) { //Faz uma busca do id do tipo de documento (tdo_id). string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG); PES_PessoaDocumento entityPessoaDocumento = new PES_PessoaDocumento { pes_id = pes_id , tdo_id = new Guid(docPadraoRG) , psd_numero = documentoRG }; lista.Add(entityPessoaDocumento); } // Caso for declarado o NIS, será inserindo em uma lista. if (!string.IsNullOrEmpty(documentoNIS)) { // ID do tipo de documento NIS. Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); PES_PessoaDocumento entityPessoaDocumento = new PES_PessoaDocumento { pes_id = pes_id , tdo_id = tdo_idNis , psd_numero = documentoNIS }; lista.Add(entityPessoaDocumento); } return(lista); }
//adicionar deficiencias filhas protected void btnAdicionarFilha_Click(object sender, EventArgs e) { try { string mensagem = ""; if (UCComboTipoDeficienciaFilha._Combo.SelectedIndex <= 0) { mensagem += (string.IsNullOrEmpty(mensagem) ? "" : "<br/>") + string.Format("Deficiência relacionada é obrigatória."); } if (new Guid(UCComboTipoDeficienciaFilha._Combo.SelectedValue) == ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.DEFICIENCIA_MULTIPLA, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { mensagem += (string.IsNullOrEmpty(mensagem) ? "" : "<br/>") + string.Format("O tipo de deficiência não pode se relacionar com ele mesmo."); } if (!string.IsNullOrEmpty(mensagem)) { throw new ValidationException(mensagem.Replace(" *", "")); } if (VS_ListaFilha.Any(p => p.tde_idFilha.Equals(new Guid(UCComboTipoDeficienciaFilha._Combo.SelectedValue)))) { throw new ValidationException(string.Format("Deficiência relacionada já existe.")); } VS_ListaFilha.Add(new CFG_DeficienciaFIlha { tde_id = VS_tde_id, tde_idFilha = new Guid(UCComboTipoDeficienciaFilha._Combo.SelectedValue), tde_nomeFilha = UCComboTipoDeficienciaFilha._Combo.SelectedItem.Text, IsNew = true }); VS_ListaFilha = VS_ListaFilha.OrderBy(q => q.tde_nomeFilha).ToList(); gdvDeficienciaFilha.DataSource = VS_ListaFilha; gdvDeficienciaFilha.DataBind(); UCComboTipoDeficienciaFilha._Combo.SelectedIndex = 0; divInserirFilha.Visible = false; updCadastroQualidade.Update(); } catch (ValidationException ex) { lblPopupFilha.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblPopupFilha.Text = UtilBO.GetErroMessage("Erro ao adicionar detalhamento de deficiência.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Método para salvar um tipo de qualidade. /// </summary> private void Salvar() { try { VS_tde_id = new Guid(UCComboTipoDeficiencia._Combo.SelectedValue); //verifica se é deficência multipla if (VS_tde_id == ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.DEFICIENCIA_MULTIPLA, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { //passar a lista para salvar as deficiencias relacionadas if (CFG_DeficienciaFIlhaBO.Salvar(VS_tde_id, VS_ListaFilha)) { ApplicationWEB._GravaLogSistema(VS_tde_id != Guid.NewGuid() ? LOG_SistemaTipo.Update : LOG_SistemaTipo.Insert, "tde_id: " + VS_tde_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Detalhamento de deficiência " + (VS_tde_id != Guid.NewGuid() ? "alterado" : "incluído") + " com sucesso.", UtilBO.TipoMensagem.Sucesso); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } else { //passar a lista para salvar o detalhamento if (CFG_DeficienciaDetalheBO.Salvar(VS_tde_id, VS_ListaDetalhe)) { ApplicationWEB._GravaLogSistema(VS_tde_id != Guid.NewGuid() ? LOG_SistemaTipo.Update : LOG_SistemaTipo.Insert, "tde_id: " + VS_tde_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Detalhamento de deficiência " + (VS_tde_id != Guid.NewGuid() ? "alterado" : "incluído") + " com sucesso.", UtilBO.TipoMensagem.Sucesso); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } } catch (ValidationException e) { lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException e) { lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar detalhamentos da deficiência.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Método para carregar uma deficiência com seus detalhamentos. /// </summary> /// <param name="tde_id">ID do tipo de deficiencia</param> public void Carregar(Guid tde_id) { try { // verifica se é deficiencia multipla if (tde_id == ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.DEFICIENCIA_MULTIPLA, __SessionWEB.__UsuarioWEB.Usuario.ent_id)) { divDetalhe.Visible = false; divFilha.Visible = true; UCComboTipoDeficienciaFilha._Label.Text = string.Format("Deficiência relacionada"); UCComboTipoDeficienciaFilha._MostrarMessageSelecione = true; List <CFG_DeficienciaFIlha> lstAux = CFG_DeficienciaFIlhaBO.SelectFilhaBy_Deficiencia(tde_id); VS_ListaFilha = lstAux.ToList(); UCComboTipoDeficiencia._Combo.Enabled = !(VS_ListaFilha.Count > 0); gdvDeficienciaFilha.DataSource = VS_ListaFilha.OrderBy(p => p.tde_nomeFilha); gdvDeficienciaFilha.DataBind(); } //não é multipla e vai inserir o detalhamento else { divDetalhe.Visible = true; divFilha.Visible = false; List <CFG_DeficienciaDetalhe> lstAux = CFG_DeficienciaDetalheBO.SelectDetalheBy_Deficiencia(tde_id); VS_ListaDetalhe = lstAux.ToList(); UCComboTipoDeficiencia._Combo.Enabled = !(VS_ListaDetalhe.Count > 0); grvDetalhes.DataSource = VS_ListaDetalhe.Where(q => q.dfd_situacao != 3).OrderBy(q => q.dfd_nome); grvDetalhes.DataBind(); } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar detalhamento.", UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Insere as informações do responsável na tela. /// </summary> /// <param name="entCadastro">Struct de cadastro com as informações</param> public void CarregarResponsavel(ACA_AlunoResponsavelBO.StructCadastro entCadastro) { VS_Alr_ID = entCadastro.entAlunoResp.alr_id; VS_Pes_ID = entCadastro.entPessoa.pes_id; txtNome.Text = entCadastro.entPessoa.pes_nome; if (entCadastro.entPessoa.pes_dataNascimento != new DateTime()) { txtDataNasc.Text = entCadastro.entPessoa.pes_dataNascimento.ToString("dd/MM/yyyy"); } if (entCadastro.entPessoa.pes_estadoCivil > 0) { UCComboEstadoCivil1._Combo.SelectedValue = entCadastro.entPessoa.pes_estadoCivil.ToString(); } if (entCadastro.entPessoa.pes_sexo > 0) { UCComboSexo1._Combo.SelectedValue = entCadastro.entPessoa.pes_sexo.ToString(); } if (entCadastro.entPessoa.tes_id != Guid.Empty) { UCComboTipoEscolaridade1._Combo.SelectedValue = entCadastro.entPessoa.tes_id.ToString(); } txtProfissao.Text = entCadastro.entAlunoResp.alr_profissao; //Carrega os documentos do responsável (RG e CPF) if (entCadastro.listPessoaDoc.Count > 0) { //Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG); // ID do tipo de documento NIS. Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); foreach (PES_PessoaDocumento item in entCadastro.listPessoaDoc) { if (item.tdo_id == new Guid(docPadraoCPF)) { txtCPFResponsavel.Text = item.psd_numero; } else if (item.tdo_id == new Guid(docPadraoRG)) { txtRGResponsavel.Text = item.psd_numero; } else if (item.tdo_id == tdo_idNis) { txtNis.Text = item.psd_numero; } } } chkApenasFiliacao.Checked = entCadastro.entAlunoResp.alr_apenasFiliacao; chkNaoConstaCertidaoNasc.Checked = !entCadastro.entAlunoResp.alr_constaCertidaoNascimento; chkOmitidoFormaLei.Checked = entCadastro.entAlunoResp.alr_omitidoFormaLei; chkMoraComAluno.Checked = entCadastro.entAlunoResp.alr_moraComAluno; chkSituacaoFalecido.Checked = entCadastro.entAlunoResp.alr_situacao == (byte)ACA_AlunoResponsavelSituacao.Falecido; }
/// <summary> /// Método chamado quando o usuário seleciona uma pessoa na tela de busca. /// </summary> /// <param name="parameters"></param> void UCPessoas1BuscaPessoa(IDictionary <string, object> parameters) { //Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); string docPadraoRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG); //Variáveis que recebe os valores cadastrados caso já exista. byte situacao_responsavel; string alr_profissao; // ID do tipo de documento NIS. Guid tdo_idNis = ACA_ParametroAcademicoBO.ParametroValorGuidPorEntidade(eChaveAcademico.TIPO_DOCUMENTACAO_NIS, __SessionWEB.__UsuarioWEB.Usuario.ent_id); try { if (!String.IsNullOrEmpty(parameters["pes_id"].ToString())) { VS_Pes_ID = new Guid(parameters["pes_id"].ToString()); } PES_Pessoa entity = new PES_Pessoa(); entity.pes_id = VS_Pes_ID; PES_PessoaBO.GetEntity(entity); txtNome.Text = entity.pes_nome; txtDataNasc.Text = entity.pes_dataNascimento != new DateTime() ? entity.pes_dataNascimento.ToString("dd/MM/yyyy") : ""; UCComboEstadoCivil1._Combo.SelectedValue = entity.pes_estadoCivil.ToString(); UCComboSexo1._Combo.SelectedValue = (entity.pes_sexo == 0) ? "-1" : entity.pes_sexo.ToString(); if (entity.tes_id != Guid.Empty) { UCComboTipoEscolaridade1._Combo.SelectedValue = entity.tes_id.ToString(); } else { UCComboTipoEscolaridade1._Combo.SelectedValue = UCComboTipoEscolaridade1._Combo.Items[0].Value; } //Faz a verificação se existe as informações cadastradas referente a profissão e situação do responsável. ACA_AlunoResponsavelBO.RetornaAlunoResponsavel_Situacao_Profissao(entity.pes_id, out situacao_responsavel, out alr_profissao); chkSituacaoFalecido.Checked = situacao_responsavel == Convert.ToByte(ACA_AlunoResponsavelSituacao.Falecido); txtProfissao.Text = alr_profissao; txtCPFResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoCPF); txtRGResponsavel.Text = RetornaDocumentoResponsavel(entity.pes_id, docPadraoRG); txtNis.Text = RetornaDocumentoResponsavel(entity.pes_id, tdo_idNis.ToString()); if (UCBuscaPessoasAluno != null) { // Limpar campos da busca. UCBuscaPessoasAluno._Limpar(); } ScriptManager.RegisterClientScriptBlock(Page, GetType(), "BuscaPessoa", "$('#divBuscaResponsavel').dialog('close');", true); } catch (Exception ex) { lblMensagem.Text = UtilBO.GetErroMessage("Erro ao tentar carregar a pessoa.", UtilBO.TipoMensagem.Erro); ApplicationWEB._GravaErro(ex); } }
/// <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); } }