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)); } }
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)); }
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)); }
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); } }