public IActionResult UpdateFood(Guid id, [FromBody] FoodItemUpdateDto foodItem) { if (foodItem == null) { return(BadRequest()); } FoodItem existingFoodItem = _foodRepository.GetSingle(id); if (existingFoodItem == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Mapper.Map(foodItem, existingFoodItem); _foodRepository.Update(existingFoodItem); if (!_foodRepository.Save()) { throw new Exception("Updating a fooditem failed on save."); } _hubContext.Clients.All.SendAsync("food-updated", existingFoodItem); return(Ok(Mapper.Map <FoodItemDto>(existingFoodItem))); }
public IActionResult Update(Guid id, [FromBody] FoodItemUpdateDto foodItem) { if (foodItem == null) { return(BadRequest()); } var existingFoodItem = _foodRepository.GetSingle(id); if (existingFoodItem == null) { return(NotFound()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Mapper.Map(foodItem, existingFoodItem); _foodRepository.Update(existingFoodItem); if (!_foodRepository.Save()) { throw new Exception("Updating a fooditem failed on save."); } return(Ok(Mapper.Map <FoodItemDto>(existingFoodItem))); }
public IActionResult PartiallyUpdateFood(Guid id, [FromBody] JsonPatchDocument <FoodItemUpdateDto> patchDoc) { if (patchDoc == null) { return(BadRequest()); } FoodItem foodItemFromRepo = _foodRepository.GetSingle(id); if (foodItemFromRepo == null) { return(NotFound()); } FoodItemUpdateDto foodItemToPatch = Mapper.Map <FoodItemUpdateDto>(foodItemFromRepo); patchDoc.ApplyTo(foodItemToPatch, ModelState); TryValidateModel(foodItemToPatch); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Mapper.Map(foodItemToPatch, foodItemFromRepo); _foodRepository.Update(foodItemFromRepo); if (!_foodRepository.Save()) { throw new Exception("Updating a fooditem failed on save."); } _hubContext.Clients.All.SendAsync("food-updated", Mapper.Map <FoodItemDto>(foodItemFromRepo)); return(Ok(Mapper.Map <FoodItemDto>(foodItemFromRepo))); }