public OutPutPessoaFisica AtualizarPessoaFisica([FromBody] InputUpdatePessoaFisica item) { var retorno = new OutPutPessoaFisica(); using (var db = new FIPEContratosContext()) { var strategy = db.Database.CreateExecutionStrategy(); strategy.Execute(() => { using (var transaction = db.Database.BeginTransaction()) { try { PessoaFisica cpfCadastrado = null; if (!String.IsNullOrEmpty(item.NuCpf)) { cpfCadastrado = new PessoaFisica(); string cpf = Regex.Replace(item.NuCpf, "[^0-9a-zA-Z]+", ""); cpfCadastrado = new bPessoaFisica(db).VerificaCPFCadastrado(cpf, item.IdPessoaFisica); UpdatePessoaFisica(item, retorno, db, cpfCadastrado); } else { UpdatePessoaFisica(item, retorno, db, cpfCadastrado); } // Confirma operações db.SaveChanges(); db.Database.CommitTransaction(); } catch (Exception ex) { if (ex.InnerException.Message.Contains("UQ_PessoaFisicaCPF")) { retorno.CpfCadastrado = true; } else { new bEmail(db).EnviarEmailTratamentoErro(ex, "PessoaFisicaController-AtualizarPessoaFisica"); } } } }); } return(retorno); }
private static void UpdatePessoaFisica(InputUpdatePessoaFisica item, OutPutPessoaFisica retorno, FIPEContratosContext db, PessoaFisica cpfCadastrado) { if (cpfCadastrado == null) { var objPessoa = new bPessoaFisica(db); var itemPessoaOld = objPessoa.BuscarPessoaId(item.IdPessoaFisica); var itemPessoa = itemPessoaOld; var itemPessoaHistorico = new HistoricoPessoaFisica(); //Histórico itemPessoaHistorico.IdPessoaFisica = itemPessoaOld.IdPessoaFisica; itemPessoaHistorico.NmPessoa = itemPessoaOld.NmPessoa; itemPessoaHistorico.NuCpf = itemPessoaOld.NuCpf; itemPessoaHistorico.DtNascimento = itemPessoaOld.DtNascimento; itemPessoaHistorico.CdSexo = itemPessoaOld.CdSexo; itemPessoaHistorico.CdEmail = itemPessoaOld.CdEmail; itemPessoaHistorico.NuCep = itemPessoaOld.NuCep; itemPessoaHistorico.DsEndereco = itemPessoaOld.DsEndereco; itemPessoaHistorico.NuEndereco = itemPessoaOld.NuEndereco; itemPessoaHistorico.DsComplemento = itemPessoaOld.DsComplemento; itemPessoaHistorico.NmBairro = itemPessoaOld.NmBairro; itemPessoaHistorico.SgUf = itemPessoaOld.SgUf; itemPessoaHistorico.IdCidade = itemPessoaOld.IdCidade; itemPessoaHistorico.CdCvLattes = itemPessoaOld.CdCvLattes; itemPessoaHistorico.CdLinkedIn = itemPessoaOld.CdLinkedIn; itemPessoaHistorico.NuTelefoneComercial = itemPessoaOld.NuTelefoneComercial; itemPessoaHistorico.NuTelefoneFixo = itemPessoaOld.NuTelefoneFixo; itemPessoaHistorico.NuCelular = itemPessoaOld.NuCelular; itemPessoaHistorico.IdUsuarioAlteracao = AppSettings.constGlobalUserID; itemPessoaHistorico.DtAlteracao = DateTime.Now.Date; itemPessoaHistorico.IdTipoVinculo = itemPessoaOld.IdTipoVinculo; objPessoa.AddPessoaFisicaHistorico(itemPessoaHistorico); itemPessoa.NmPessoa = item.NmPessoa; if (item.NuCpf != null) { string cpf = Regex.Replace(item.NuCpf, "[^0-9a-zA-Z]+", ""); itemPessoa.NuCpf = !String.IsNullOrEmpty(cpf) ? cpf : null; } itemPessoa.DtNascimento = item.DtNascimento; itemPessoa.CdSexo = item.CdSexo; itemPessoa.CdEmail = item.CdEmail; if (item.NuCep != null) { itemPessoa.NuCep = Regex.Replace(item.NuCep, "[^0-9a-zA-Z]+", ""); } itemPessoa.DsEndereco = item.DsEndereco; itemPessoa.NuEndereco = item.NuEndereco; itemPessoa.DsComplemento = item.DsComplemento; itemPessoa.NmBairro = item.NmBairro; itemPessoa.SgUf = item.SgUf; itemPessoa.IdCidade = item.IdCidade; itemPessoa.CdCvLattes = item.CdCvLattes; itemPessoa.CdLinkedIn = item.CdLinkedIn; if (item.NuTelefoneComercial != null) { itemPessoa.NuTelefoneComercial = Regex.Replace(item.NuTelefoneComercial, "[^0-9a-zA-Z]+", ""); } if (item.NuTelefoneFixo != null) { itemPessoa.NuTelefoneFixo = Regex.Replace(item.NuTelefoneFixo, "[^0-9a-zA-Z]+", ""); } if (item.NuCelular != null) { itemPessoa.NuCelular = Regex.Replace(item.NuCelular, "[^0-9a-zA-Z]+", ""); } itemPessoa.IdTipoVinculo = item.IdTipoVinculo; retorno.Result = true; } else { retorno.Result = false; retorno.CpfCadastrado = true; } }
public InputUpdatePessoaFisica BuscaPessoaFisicaId(int id) { using (var db = new FIPEContratosContext()) { var itemPessoa = new InputUpdatePessoaFisica(); try { var item = new bPessoaFisica(db).BuscarPessoaId(id); itemPessoa.IdPessoaFisica = item.IdPessoaFisica; itemPessoa.NmPessoa = item.NmPessoa; if (!String.IsNullOrEmpty(item.NuCpf)) { itemPessoa.NuCpf = Regex.Replace(item.NuCpf, "[^0-9a-zA-Z]+", ""); } itemPessoa.DtNascimento = item.DtNascimento; itemPessoa.CdSexo = item.CdSexo; itemPessoa.CdEmail = item.CdEmail; if (item.NuCep != null) { itemPessoa.NuCep = Regex.Replace(item.NuCep, "[^0-9a-zA-Z]+", ""); } else { itemPessoa.NuCep = item.NuCep; } itemPessoa.DsEndereco = item.DsEndereco; itemPessoa.NuEndereco = item.NuEndereco; itemPessoa.DsComplemento = item.DsComplemento; itemPessoa.NmBairro = item.NmBairro; itemPessoa.SgUf = item.SgUf; if (item.IdCidade != null) { itemPessoa.IdCidade = item.IdCidade.Value; } itemPessoa.CdCvLattes = item.CdCvLattes; itemPessoa.CdLinkedIn = item.CdLinkedIn; if (itemPessoa.NuTelefoneComercial != null) { itemPessoa.NuTelefoneComercial = Regex.Replace(item.NuTelefoneComercial, "[^0-9a-zA-Z]+", ""); } else { itemPessoa.NuTelefoneComercial = item.NuTelefoneComercial; } if (itemPessoa.NuCelular != null) { itemPessoa.NuCelular = Regex.Replace(item.NuCelular, "[^0-9a-zA-Z]+", ""); } else { itemPessoa.NuCelular = item.NuCelular; } if (itemPessoa.NuTelefoneFixo != null) { itemPessoa.NuTelefoneFixo = Regex.Replace(item.NuTelefoneFixo, "[^0-9a-zA-Z]+", ""); } else { itemPessoa.NuTelefoneFixo = item.NuTelefoneFixo; } itemPessoa.IdTipoVinculo = item.IdTipoVinculo; return(itemPessoa); } catch (Exception ex) { new bEmail(db).EnviarEmailTratamentoErro(ex, "PessoaFisicaController-BuscaPessoaFisicaId"); throw; } } }