public async Task <IActionResult> Put(int id, PessoaModel model) { if (!ModelState.IsValid) { return(BadRequest()); } try { var pessoa = await _pessoaRepositorio.ObterPorId(id); var nomeCompleto = new NomeCompleto(model.Nome, model.Sobrenome); var cpf = new Cpf(model.Cpf); var email = new Email(model.Email); var telefone = new Telefone(model.Telefone); var endereco = new Endereco(model.Cep, model.Estado, model.Cidade, model.Logradouro); pessoa.Alterar(nomeCompleto, cpf, model.Nacionalidade, email, telefone, endereco); _pessoaRepositorio.Alterar(pessoa); await _unitOfWork.SaveChanges(); var response = new ResponseModel <PessoaDetalhesModel>(HttpStatusCode.OK, new PessoaDetalhesModel(pessoa), "Pessoa alterada com sucesso"); return(Ok(response)); } catch (Exception e) { return(BadRequest(new ResponseModel <PessoaModel>(HttpStatusCode.BadRequest, null, e.Message))); } }
/// param name="Id, entity">/param> public PessoaDto Alterar(int Id, Pessoa entity) { var idExistente = _pessoaRepositorio.SelecionarPorId(Id); if (idExistente == null) { throw new NaoEncontradoException($"Não existe esta Pessoa!"); } var NomeExistente = _pessoaRepositorio.SelecionarPorNomeEspecifico(entity.Nome); if (NomeExistente != null && idExistente.Id != entity.Id) { throw new ConflitoException($"Já existe uma Pessoa cadastrada com este nome {entity.Nome}!"); } var EmailExistente = _pessoaRepositorio.SelecionarPorEmail(entity.Email); if (EmailExistente != null && idExistente.Id != entity.Id) { throw new ConflitoException($"Já esxiste uma pessoa cadastrada com este email {entity.Email}!"); } if (entity.Id_squad == 0) { entity.Id_squad = null; } entity.Id = Id; _pessoaRepositorio.Alterar(entity); return(_pessoaRepositorio.SelecionarPorId(Id)); }
public async Task <IActionResult> Create(int id, Endereco endereco) { pessoa = await _pessoaRepositorio.ConsultarPorIdCompleto(id); pessoa.Enderecos.Add(endereco); await _pessoaRepositorio.Alterar(pessoa); return(RetornarDeAcordoComPessoa(endereco)); }
public async Task <IActionResult> Create(int id, Telefone telefone) { var pessoa = await _pessoaRepositorio.ConsultarPorIdCompleto(id); pessoa.Telefones.Add(telefone); await _pessoaRepositorio.Alterar(pessoa); return(RetornarDeAcordoComPessoa(telefone)); }