public ActionResult PartialCommandUpdate(int id, Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <CommandUpdateDto> patchDoc) { var commandModelFromRepo = _repository.GetCommandById(id); if (commandModelFromRepo == null) { return(NotFound()); } var commandToPatch = _mapper.Map <CommandUpdateDto>(commandModelFromRepo); patchDoc.ApplyTo(commandToPatch, ModelState); if (!TryValidateModel(commandToPatch)) { return(ValidationProblem(ModelState)); } _mapper.Map(commandToPatch, commandModelFromRepo); _repository.UpdateCommand(commandModelFromRepo); _repository.SaveChanges(); return(NoContent()); }
public IActionResult PartialUpdatePointOfInterest(int cityId, int id, [FromBody] Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <PointOfInterestForUpdateDto> patchDoc) { if (!_cityInfoRepository.CityExists(cityId)) { return(NotFound()); } var entry = _cityInfoRepository.GetPointForInterestForCity(cityId, id); if (entry == null) { return(NotFound()); } var entryToPatch = _mapper.Map <PointOfInterestForUpdateDto>(entry); patchDoc.ApplyTo(entryToPatch, ModelState); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!TryValidateModel(entryToPatch)) { return(BadRequest()); } _mapper.Map(entryToPatch, entry); _cityInfoRepository.UpdatePointOfInterestForCity(cityId, entry); _cityInfoRepository.Save(); return(NoContent()); }
public async Task <T> Patch <TCreation, TDTO>(int id, Microsoft.AspNetCore.JsonPatch.JsonPatchDocument <TDTO> patchDocument) where TDTO : class { if (patchDocument == null) { return(null); } var entity = await dbSet.FirstOrDefaultAsync(x => x.Id == id); if (entity == null) { return(null); } var entityDTO = mapper.Map <TDTO>(entity); patchDocument.ApplyTo(entityDTO); mapper.Map(entityDTO, entity); await context.SaveChangesAsync(); return(entity); }