public GravarPessoaResponse GravarPessoa([FromBody] GravarPessoaRequest gravarPessoaRequest) { using (PessoaBusiness business = new PessoaBusiness(contextOptions)) { return(business.GravarPessoa(gravarPessoaRequest)); } }
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); }