public IActionResult Put(int id, [FromBody] PessoaRequest pessoaRequest)
        {
            try {
                var pessoa = contexto.Pessoa.Where(x => x.IdPessoa == id)
                             .FirstOrDefault();

                if (pessoa != null)
                {
                    pessoa.Nome = pessoaRequest.Nome;
                }
                contexto.Entry(pessoa).State =
                    Microsoft.EntityFrameworkCore.EntityState.Modified;

                contexto.SaveChanges();
            }
            catch (Exception ex)
            {
                return(StatusCode(400, ex.InnerException.Message.FirstOrDefault()));
            }

            var pessoaRetorno = contexto.Pessoa.FirstOrDefault(
                x => x.IdPessoa == id
                );

            PessoaResponse retorno = new PessoaResponse()
            {
                IdPessoa = pessoaRetorno.IdPessoa,
                Nome     = pessoaRetorno.Nome
            };

            return(StatusCode(200, retorno));
        }
        public IActionResult Put([FromBody]
                                 PessoaRequest pessoaRequest)
        {
            //Utilizar contexto para tratar o post
            var pessoa = new Pessoa
            {
                Nome = pessoaRequest.Nome
            };

            var pessoaRetorno = contexto.Pessoa.Where
                                    (x => x.IdPessoa == pessoa.IdPessoa)
                                .FirstOrDefault();

            PessoaResponse response = new PessoaResponse();

            if (pessoaRetorno != null)
            {
                NotFound();
            }

            contexto.Pessoa.Update(pessoa);
            contexto.SaveChanges();

            return(StatusCode(200, response));
        }
        public PessoaResponse CriaPessoa(PessoaRequest pessoaRequest)
        {
            PessoaResponse retorno;

            try
            {
                var pessoa = PessoaRequest.Cria(pessoaRequest);
                pessoa = _pessoaRepository.Add(pessoa);

                if (pessoa is PessoaFisica fisica)
                {
                    retorno = new PessoaResponse(fisica);
                }
                else
                {
                    retorno = new PessoaResponse((PessoaJuridica)pessoa);
                }
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao CriaPessoa. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }
        public IActionResult Post([FromBody]
                                  PessoaRequest pessoaRequest)
        {
            var pessoa = new Pessoa
            {
                Nome = pessoaRequest.Nome
            };

            contexto.Pessoa.Add(pessoa);
            contexto.SaveChanges();

            var pessoaRetorno = contexto.Pessoa.Where
                                    (x => x.IdPessoa == pessoa.IdPessoa)
                                .FirstOrDefault();

            PessoaResponse response = new PessoaResponse();

            if (pessoaRetorno != null)
            {
                response.IdPessoa = pessoaRetorno.IdPessoa;
                response.Nome     = pessoaRetorno.Nome;
            }

            return(StatusCode(200, response));
        }
        public PessoaResponse ObtemPessoa(int pessoaId)
        {
            PessoaResponse retorno;

            try
            {
                var pessoa = _pessoaRepository.GetById(pessoaId);

                Ensure.NotNull(pessoa, $"Pessoa com Id {pessoaId} Não encontrada");

                if (pessoa is PessoaFisica fisica)
                {
                    retorno = new PessoaResponse(fisica);
                }
                else
                {
                    retorno = new PessoaResponse((PessoaJuridica)pessoa);
                }
            }
            catch (Exception ex)
            {
                _logFactory.Log().Error($"Erro ao ObtemPessoa. {ex.Message} - {ex.StackTrace}");
                throw;
            }

            return(retorno);
        }
Exemple #6
0
        public void TestMethod1(IServicePessoa servicePessoa)
        {
            //Teste Unitário
            //_pessoa = new Domain.Entities.Pessoa("Almeida", "11040128637", "GO", "01/01/2000");

            //Teste de CRUD
            request        = new PessoaRequest("Paulo", "11040128637", "01/01/2000", "GO", "123456");
            _servicePessoa = servicePessoa;
            PessoaResponse response = _servicePessoa.CadastrarPessoa(request);

            if (response == null)
            {
                throw new Exception("Erro");
            }
        }
        public IActionResult Delete(int idPessoa)
        {
            var pessoa = contexto.Pessoa.FirstOrDefault(
                x => x.IdPessoa == idPessoa);

            PessoaResponse response = new PessoaResponse();

            contexto.Pessoa.Remove(pessoa);
            contexto.SaveChanges();

            if (pessoa == null)
            {
                return(NotFound());
            }

            return(StatusCode(200, response));
        }
Exemple #8
0
        public async Task <IActionResult> Put(int id, [FromBody] PessoaRequest request)
        {
            //Verifica se o usuário está logado e se possui token
            string usuarioClaims  = _httpContextAccessor.HttpContext.User.FindFirst("Usuario").Value;
            var    pessoaResponse = JsonConvert.DeserializeObject <UsuarioAutenticadoResponse>(usuarioClaims);

            PessoaResponse response = _servicePessoa.EditarPessoa(id, request);

            if (response.CPF != null)
            {
                return(await ResponseAsync(response));
            }
            else
            {
                return(CreatedAtAction("Put", new { HttpStatusCode.BadRequest }));
            }
        }
        public async Task <ActionResult <Pessoa> > PostPessoa(PessoaResponse response)
        {
            var paisOrigem = await _context.Paises.FirstOrDefaultAsync(x => x.Id == response.Pais.Id);

            var estadoOrigem = await _context.Estados.FirstOrDefaultAsync(x => x.Id == response.Estado.Id);

            response.Pais   = paisOrigem;
            response.Estado = estadoOrigem;

            Pessoa novaPessoa = new Pessoa {
                Nome   = response.Nome, Foto = response.Foto, Email = response.Email, Telefone = response.Telefone, DataDeNascimento = response.DataDeNascimento, Pais = response.Pais,
                Estado = response.Estado
            };

            _context.Pessoas.Add(novaPessoa);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPessoa", new { id = novaPessoa.Id }, novaPessoa));
        }
Exemple #10
0
 public async Task <IActionResult> Post([FromBody] PessoaRequest request)
 {
     try
     {
         PessoaResponse response = _servicePessoa.CadastrarPessoa(request);
         if (response.CPF != null)
         {
             return(await ResponseAsync(response));
         }
         else
         {
             return(CreatedAtAction("Post", new { HttpStatusCode.BadRequest }));
         }
     }
     catch (Exception ex)
     {
         return(CreatedAtAction("Post", new { HttpStatusCode.ServiceUnavailable }));;
     }
 }
Exemple #11
0
        public void CriarPessoaServiceTest()
        {
            var idTest   = Guid.NewGuid();
            var mock     = new Mock <IPessoaRepository>();
            var request  = new PessoaRequest();
            var response = new PessoaResponse()
            {
                Id = idTest,
            };

            mock.Setup(s => s.Adicionar(new Pessoa()))
            .Returns(new Pessoa());

            var ctrl = new PessoaService(mock.Object);

            var result = ctrl.CriarPessoa(request);

            Assert.AreEqual(response.Id, idTest);
        }