Example #1
0
        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)));
            }
        }
Example #2
0
        /// 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));
        }