コード例 #1
0
        public ActionResult AtualizacaoParcial(int id, [FromBody] JsonPatchDocument <Mensagem> jsonPatch)
        {
            if (jsonPatch == null)
            {
                return(BadRequest());
            }

            /*
             * JSONPatch - [{ "op": "add|remove|replace", "path": "texto", "value": "Mensagem substuida!"}, { "op": "add|remove|replace", "path": "exluido", "value": true}]             *
             */

            var mensagem = _mensagemRepository.Obter(id);

            jsonPatch.ApplyTo(mensagem);
            mensagem.Atualizado = DateTime.UtcNow;

            _mensagemRepository.Atualizar(mensagem);


            var mensagemDTO = _mapper.Map <Mensagem, MensagemDTO>(mensagem);

            mensagemDTO.Links.Add(new LinkDTO("_self", Url.Link("AtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

            return(Ok(mensagemDTO));
        }
コード例 #2
0
        public ActionResult AtualizarParcial(int id, [FromBody] JsonPatchDocument <Mensagem> jsonPatch, [FromHeader(Name = "Accept")] string mediaType)
        {
            /*
             *  JSONPatch - [{ "op": "add|remove|replace", "path": "texto", "value": "Mensagem substituida!" }, { "op": "add|remove|replace", "path": "excluido", "value": true }]
             */

            if (jsonPatch == null)
            {
                return(BadRequest());
            }

            var mensagem = _mensagemRepository.Obter(id);

            jsonPatch.ApplyTo(mensagem);

            mensagem.Atualizado = DateTime.UtcNow;
            _mensagemRepository.Atualizar(mensagem);

            if (mediaType == CustomMediaType.Hateoas)
            {
                var msgDTO = _mapper.Map <Mensagem, MensagemDTO>(mensagem);
                msgDTO.Links.Add(new LinkDTO("_self", Url.Link("MensagemAtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

                return(Ok(msgDTO));
            }
            else
            {
                return(Ok(mensagem));
            }
        }
コード例 #3
0
        public ActionResult AtualizacaoParcial(int id, [FromBody] JsonPatchDocument <Mensagem> jsonPatch)
        {
            if (jsonPatch == null)
            {
                return(BadRequest());
            }

            /*
             * JSONPatch - [{ "op": "add|remove|replace", "path": "texto", "value": "Mensagem substuida!"}, { "op": "add|remove|replace", "path": "exluido", "value": true}]             *
             */

            var mensagem = _mensagemRepository.Obter(id);

            jsonPatch.ApplyTo(mensagem);
            mensagem.Atualizado = DateTime.UtcNow;

            _mensagemRepository.Atualizar(mensagem);

            return(Ok(mensagem));
        }
コード例 #4
0
        public ActionResult AtualizarParcial(int id, [FromBody] JsonPatchDocument <Mensagem> jsonPatch)
        {
            if (jsonPatch == null)
            {
                return(UnprocessableEntity());
            }

            var mensagem = _mensagemRepository.ObterMensagem(id);

            jsonPatch.ApplyTo(mensagem);
            mensagem.Atualizado = DateTime.UtcNow;

            _mensagemRepository.Atualizar(mensagem);

            var mensagemDTO = _mapper.Map <Mensagem, MensagemDTO>(mensagem);

            mensagemDTO.Links.Add(
                new LinkDTO("_self", Url.Link("MensagemAtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

            return(Ok(mensagemDTO));
        }
            public ActionResult AtualizacaoParcial(int id,[FromBody]JsonPatchDocument<Mensagem> jsonPatch, [FromHeader(Name = "Accept")]string mediaType)
            {
                if(jsonPatch == null){
                    return BadRequest();
                }
                var mensagem=_mensagemRepository.Obter(id);
                jsonPatch.ApplyTo(mensagem);
                mensagem.Atualizado=DateTime.UtcNow;
                _mensagemRepository.Atualizar(mensagem);

            if (mediaType == CustomMediaTypes.Hateoas)
            {
                var mensageDB = _mapper.Map<Mensagem, MensagemDTO>(mensagem);
                mensageDB.Links.Add(new LinkDTO("self", Url.Link("MensagemAtualizacaoParcial", new { id = mensagem.Id }), "PATCH"));

                return Ok(mensageDB);
            }
            else
            {
                return Ok(mensagem);
            }

            }