예제 #1
0
        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);
        }
예제 #2
0
        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;
            }
        }
예제 #3
0
        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;
                }
            }
        }