/// <summary> /// Excluindo documento do responsável /// </summary> /// <param name="listaRespDocumento">Busca do banco os documentos anteriores</param> /// <param name="listaDocumentoInseridos">Documentos atuais</param> /// <param name="pes_id">pes_id do responsável</param> /// <param name="bancoCore"></param> private static void ExcluirDocumentoReponsavel ( List <PES_PessoaDocumento> listaRespDocumento , List <PES_PessoaDocumento> listaDocumentoInseridos , Guid pes_id , TalkDBTransaction bancoCore ) { foreach (PES_PessoaDocumento item in listaRespDocumento) { if (!listaDocumentoInseridos.Exists (p => p.tdo_id == item.tdo_id )) { // Se o tipo de documento não existir mais, excluir. PES_PessoaDocumento doc = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = item.tdo_id }; PES_PessoaDocumentoBO.Delete(doc, bancoCore); // Decrementa integridade do tipo de documento. SYS_TipoDocumentacaoBO.DecrementaIntegridade(doc.tdo_id, bancoCore); } } }
/// <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); }
/// <summary> /// Salva os tipos de documento do responsável /// </summary> /// <param name="pesRespDoc">entidade Pes_PessoaDocumento</param> /// <param name="pes_id"></param> /// <param name="bancoCore"></param> private static void SalvaDocumento(PES_PessoaDocumento pesRespDoc, Guid pes_id, TalkDBTransaction bancoCore) { // Verifica se já existe esse documento para essa pessoa. PES_PessoaDocumento docAux = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = pesRespDoc.tdo_id }; PES_PessoaDocumentoBO.GetEntity(docAux, bancoCore); // Salvar documento. PES_PessoaDocumento doc = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = pesRespDoc.tdo_id, psd_numero = pesRespDoc.psd_numero, IsNew = docAux.IsNew, psd_infoComplementares = docAux.psd_infoComplementares, psd_orgaoEmissao = docAux.psd_orgaoEmissao, psd_dataEmissao = docAux.psd_dataEmissao, unf_idEmissao = docAux.unf_idEmissao, psd_situacao = 1 }; PES_PessoaDocumentoBO.Save(doc, bancoCore); if (doc.IsNew) { // Incrementar a integridade do tipo de documento. SYS_TipoDocumentacaoBO.IncrementaIntegridade(doc.tdo_id, bancoCore); } }
/// <summary> /// Retorna ID da entidade de pessoa do responsável por CPF. /// </summary> /// <param name="cpf">Número de CPF.</param> /// <returns></returns> public static Guid RetornaIdPessoaResponsavelPorCPF(string cpf) { // Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); Guid PadraoCPF = new Guid(docPadraoCPF); // Verifica se existe uma pessoa cadastro com o número de CPF informado. PES_PessoaDocumento pessoaResponsavel = PES_PessoaDocumentoBO.GetEntityBy_Documento(cpf, PadraoCPF); return(pessoaResponsavel.pes_id); }
/// <summary> /// Retorna o documento do responsável /// </summary> /// <param name="pes_id">id da pessoa</param> /// <param name="docPadrao">tipo de documento (RG ou CPF)</param> /// <returns>número do documento</returns> private string RetornaDocumentoResponsavel(Guid pes_id, string docPadrao) { PES_PessoaDocumento entityPessoaDocumento = new PES_PessoaDocumento { pes_id = pes_id , tdo_id = new Guid(docPadrao) }; PES_PessoaDocumentoBO.GetEntity(entityPessoaDocumento); return(entityPessoaDocumento.psd_numero); }
/// <summary> /// Valida o CPF do responsável /// 1º verifica se o CPF é válido. /// 2º verifica se já existe uma pessoa cadastra com mesmo número de CPF. /// </summary> /// <param name="responsavelCPF">numero do documento - CPF</param> /// <param name="tra_id"></param> /// <param name="ListValidacoesDoc">Lista das validações dos reponsáveis</param> /// <param name="ent_id">Id da entidade do usuário logado.</param> /// <param name="ListSalvar">Lista de responsaveis que estao sendo salvos, para nao considerar o mesmo documento</param> /// <returns> /// Retorna o pes_id novo caso não tenha uma pessoa cadastrada com número do CPF. /// </returns> private static Guid Valida_Responsavel_CPF(List <PES_PessoaDocumento> responsavelCPF, Int32 tra_id, ref List <string> ListValidacoesDoc, Guid ent_id, Guid pes_id, List <StructCadastro> ListSalvar) { // Faz uma busca do id do tipo de documento (tdo_id). string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF); Guid PadraoCPF = new Guid(docPadraoCPF); foreach (PES_PessoaDocumento item in responsavelCPF) { if (item.tdo_id == PadraoCPF) { // Faz a validação do número do Cpf if (!UtilBO._ValidaCPF(item.psd_numero)) { string msg; Int32 tra_idMae = TipoResponsavelAlunoParametro.tra_idMae(ent_id); Int32 tra_idPai = TipoResponsavelAlunoParametro.tra_idPai(ent_id); if (!(tra_id == tra_idMae) && !(tra_id == tra_idPai)) { msg = "O responsável "; } else { msg = (tra_id == tra_idMae) ? "A mãe " : "O pai "; } ListValidacoesDoc.Add(msg + "possui o número do CPF inválido."); } // Verifica se existe uma pessoa cadastrada com o número de CPF informado. PES_PessoaDocumento pessoaResponsavel = PES_PessoaDocumentoBO.GetEntityBy_Documento(item.psd_numero, PadraoCPF); // Se encontrou uma pessoa diferente com o mesmo numero de CPF // e nao eh nenhuma das outras pessoas que tambem estao sendo salvas... if (pessoaResponsavel.pes_id != Guid.Empty && pessoaResponsavel.pes_id != pes_id && !ListSalvar.Any(p => p.entPessoa.pes_id == pessoaResponsavel.pes_id)) { // Retorna a pessoa cadastrada com o mesmo numero de CPF return(pessoaResponsavel.pes_id); } else { // Retorno a propria pessoa return(pes_id); } } } return(pes_id); }
/// <summary> /// Decrementa a integridade do DocumentoPessoa no Core para a pessoa. /// </summary> /// <param name="bancoCore">Transação do Core</param> /// <param name="tdo_id">ID do tipo de documentação (NIS,CPF e RG)</param> /// <param name="pes_id">pes_id do responsável</param> private static void DecrementaIntegridadeDocumentoPessoa ( TalkDBTransaction bancoCore, Guid tdo_id, Guid pes_id ) { PES_PessoaDocumento doc = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = tdo_id }; // Decrementa integridade do tipo de documento. SYS_TipoDocumentacaoBO.DecrementaIntegridade(doc.tdo_id, bancoCore); }
/// <summary> /// Inseri os documentos do responsável em uma list /// </summary> /// <param name="dr">linha da tabela referente ao aluno</param> /// <param name="pes_id">id da pessoa (responsável)</param> /// <returns>uma list com os documentos do responsável</returns> private static List <PES_PessoaDocumento> InserirListDocumentoResp(DataRow dr, Guid pes_id) { List <PES_PessoaDocumento> listPessoaDoc = new List <PES_PessoaDocumento>(); // Adiciona na list o documento RG do responsável. if (!string.IsNullOrEmpty(dr["numeroDocumentoRG"].ToString())) { PES_PessoaDocumento entityDocResp = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = new Guid(dr["tipoDocumentoRG"].ToString()), psd_numero = dr["numeroDocumentoRG"].ToString() }; listPessoaDoc.Add(entityDocResp); } // Adiciona na list o documento CPF do responsável. if (!string.IsNullOrEmpty(dr["numeroDocumentoCPF"].ToString())) { PES_PessoaDocumento entityDocResp = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = new Guid(dr["tipoDocumentoCPF"].ToString()), psd_numero = dr["numeroDocumentoCPF"].ToString() }; listPessoaDoc.Add(entityDocResp); } //Adiciona na list o documento NIS do responsável. if (!string.IsNullOrEmpty(dr["numeroDocumentoNIS"].ToString())) { PES_PessoaDocumento entityDocResp = new PES_PessoaDocumento { pes_id = pes_id, tdo_id = new Guid(dr["tipoDocumentoNIS"].ToString()), psd_numero = dr["numeroDocumentoNIS"].ToString() }; listPessoaDoc.Add(entityDocResp); } return(listPessoaDoc); }
/// <summary> /// Arruma a StructColaboradorFiliacao da mae, que vai retornar a estrutura com os dados necessários para salvar a pessoa no banco. /// </summary> public StructColaboradorFiliacao ArrumaStructMae() { if (ValidaCampoDocumento(false)) { throw new ValidationException("Nome da mãe é obrigatório."); } StructColaboradorFiliacao colaborador = new StructColaboradorFiliacao(); // se a textbox estiver vazia, nao há dados da mãe if (!string.IsNullOrEmpty(txtMae.Text)) { PES_Pessoa entPessoa = new PES_Pessoa(); List <PES_PessoaDocumento> lstDocumento = new List <PES_PessoaDocumento>(); PES_PessoaDocumento cpf = new PES_PessoaDocumento { tdo_id = new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF)) }; PES_PessoaDocumento rg = new PES_PessoaDocumento { tdo_id = new Guid(SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG)) }; if (_VS_pes_idFiliacaoMae != Guid.Empty) { entPessoa.pes_id = _VS_pes_idFiliacaoMae; PES_PessoaBO.GetEntity(entPessoa); } else { entPessoa.IsNew = true; cpf.IsNew = true; rg.IsNew = true; } entPessoa.pes_nome = txtMae.Text; entPessoa.pes_situacao = 1; // Adiciona dados do CPF if (!string.IsNullOrEmpty(txtCPFMae.Text)) { if (!UtilBO._ValidaCPF(txtCPFMae.Text)) { throw new ValidationException("CPF da mãe é inválido."); } cpf.pes_id = _VS_pes_idFiliacaoMae; PES_PessoaDocumentoBO.GetEntity(cpf); cpf.psd_numero = txtCPFMae.Text; cpf.psd_situacao = 1; lstDocumento.Add(cpf); } // Adiciona dados do Rg if (!string.IsNullOrEmpty(txtRGMae.Text)) { rg.pes_id = _VS_pes_idFiliacaoMae; PES_PessoaDocumentoBO.GetEntity(rg); rg.psd_numero = txtRGMae.Text; rg.psd_situacao = 1; lstDocumento.Add(rg); } colaborador.listaDocumentos = lstDocumento; colaborador.entPessoa = entPessoa; } return(colaborador); }