示例#1
0
 public GravarPessoaResponse GravarPessoa([FromBody] GravarPessoaRequest gravarPessoaRequest)
 {
     using (PessoaBusiness business = new PessoaBusiness(contextOptions))
     {
         return(business.GravarPessoa(gravarPessoaRequest));
     }
 }
示例#2
0
        public GravarPessoaResponse GravarPessoa(GravarPessoaRequest request)
        {
            GravarPessoaResponse response = new GravarPessoaResponse();

            var transaction = data.Database.BeginTransaction();

            try
            {
                if (request == null)
                {
                    throw new Exception("O objeto request não foi preenchido.");
                }

                PESSOA pessoa = data.PESSOA.Where(whr => whr.ID == request.ID).FirstOrDefault();

                if (pessoa == null)
                {
                    pessoa = new PESSOA()
                    {
                        TipoPessoaID   = request.TipoPessoaID,
                        RazaoSocial    = request.RazaoSocial,
                        Nome           = request.Nome,
                        Email          = request.Email,
                        Senha          = request.Senha,
                        Cpf_Cnpj       = request.Cpf_Cnpj,
                        Telefone       = request.Telefone,
                        Celular        = request.Celular,
                        DataNascimento = request.DataNascimento,
                        DataCriacao    = DateTime.Now,
                        DataAlteracao  = DateTime.Now
                    };

                    data.Add(pessoa);
                    data.SaveChanges();
                }
                else
                {
                    pessoa.Nome           = request.Nome;
                    pessoa.DataNascimento = request.DataNascimento;
                    pessoa.Cpf_Cnpj       = request.Cpf_Cnpj;
                    pessoa.Email          = request.Email;
                    pessoa.Senha          = request.Senha;
                    pessoa.Telefone       = request.Telefone;
                    pessoa.Celular        = request.Celular;
                    pessoa.Senha          = request.Senha;
                    pessoa.DataNascimento = request.DataNascimento;
                    pessoa.DataAlteracao  = DateTime.Now;

                    data.Update(pessoa);
                    data.SaveChanges();
                }

                if (request.Enderecos != null)
                {
                    foreach (var item in request.Enderecos)
                    {
                        PESSOA_ENDERECO endereco = data.PESSOA_ENDERECO.Where(whr => whr.PessoaID == pessoa.ID).FirstOrDefault();

                        if (endereco == null)
                        {
                            endereco = new PESSOA_ENDERECO()
                            {
                                PessoaID         = pessoa.ID,
                                EnderecoCobranca = item.EnderecoCobranca,
                                Logradouro       = item.Logradouro,
                                Numero           = item.Numero,
                                Bairro           = item.Bairro,
                                CEP    = item.CEP,
                                Cidade = item.Cidade,
                                UF     = item.UF
                            };

                            data.Add(endereco);
                            data.SaveChanges();
                        }
                        else
                        {
                            endereco.Logradouro       = item.Logradouro;
                            endereco.EnderecoCobranca = item.EnderecoCobranca;
                            endereco.Numero           = item.Numero;
                            endereco.CEP    = item.CEP;
                            endereco.Bairro = item.Bairro;
                            endereco.Cidade = item.Cidade;
                            endereco.UF     = item.UF;


                            data.Update(endereco);
                            data.SaveChanges();
                        }
                    }
                }

                response.ID       = pessoa.ID;
                response.Sucesso  = true;
                response.Mensagem = "O Registro foi salvo com sucesso.";

                transaction.Commit();
            }
            catch (System.Exception err)
            {
                transaction.Rollback();
                response.Sucesso  = false;
                response.Mensagem = err.Message;
            }

            return(response);
        }