public IActionResult UpdateLandmarkAll( int cityId, int landmarkId, [FromBody] LandmarkModelUpdate landmark) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var city = CityDataStore.Current.Cities .FirstOrDefault(c => c.Id == cityId); if (city == null) { return(NotFound()); } var landmarkFromData = city.Landmarks .FirstOrDefault(l => l.Id == landmarkId); if (landmarkFromData == null) { return(NotFound()); } landmarkFromData.Name = landmark.Name; landmarkFromData.Description = landmark.Description; return(NoContent()); }
public IActionResult UpdateLandmarkPartial( int cityId, int landmarkId, [FromBody] JsonPatchDocument <LandmarkModelUpdate> patchDoc) { if (patchDoc == null) { return(BadRequest()); } var city = CityDataStore.Current.Cities .FirstOrDefault(c => c.Id == cityId); if (city == null) { return(NotFound()); } var landmarkFromData = city.Landmarks .FirstOrDefault(l => l.Id == landmarkId); if (city == null) { return(NotFound()); } var landmarkToPatch = new LandmarkModelUpdate() { Name = landmarkFromData.Name, Description = landmarkFromData.Description, }; // patchDoc.ApplyTo(landmarkToPatch, ModelState); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } landmarkFromData.Name = landmarkToPatch.Name; landmarkFromData.Description = landmarkToPatch.Description; return(NoContent()); }