Ejemplo n.º 1
0
        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)));
        }
Ejemplo n.º 3
0
        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)));
        }