コード例 #1
0
        public ActionResult Post([FromBody] AmigoRequest amigoRequest)
        {
            var erros = amigoRequest.Erros();

            if (erros.Any())
            {
                return(UnprocessableEntity(erros)); //422
            }
            var response = CriarAmigo(amigoRequest);

            return(CreatedAtAction(nameof(Get), new { response.Id }, response)); //201
        }
コード例 #2
0
        private AmigoResponse CriarAmigo(AmigoRequest amigoRequest)
        {
            amigoRequest.Pais   = _context.Pais.FirstOrDefault(x => x.Id == amigoRequest.Pais.Id);
            amigoRequest.Estado = _context.Estado.FirstOrDefault(x => x.Id == amigoRequest.Estado.Id);

            var amigo = _mapper.Map <Amigo>(amigoRequest);

            amigo.Id = Guid.NewGuid();

            _context.Amigos.Add(amigo);
            _context.SaveChanges();
            return(_mapper.Map <AmigoResponse>(amigo));
        }
コード例 #3
0
        private void AlterarAmigo(Guid id, AmigoRequest request)
        {
            var amigo = _context.Amigos.Find(id);

            var estado = amigo.Estado;
            var pais   = amigo.Pais;

            amigo = _mapper.Map(request, amigo);

            amigo.Estado = estado;
            amigo.Pais   = pais;

            _context.Amigos.Update(amigo);
            _context.SaveChanges();
        }
コード例 #4
0
        public ActionResult Put([FromRoute] Guid id, [FromBody] AmigoRequest request)
        {
            //procura pelo Id, se não achar NoFound
            var response = BuscarAmigoPorId(id);

            if (Response == null)
            {
                return(NotFound()); //404
            }
            //se achar realiza o método abaixo
            AlterarAmigo(id, request);

            //Faz a alteração e não retorna nada para esta requisição
            return(Ok(response)); //204
        }