Example #1
0
        public async Task <BaseDtoResponse <FoodItemDto> > Update(Guid id, FoodItemCreateRequest request)
        {
            try
            {
                FoodItem item = await _foodItemRepository.GetById(id);

                if (item != null)
                {
                    item.Description    = request.Description;
                    item.Name           = request.Name;
                    item.Availability   = request.Availability;
                    item.Calories       = request.Calories;
                    item.FoodCategoryId = request.FoodCategoryId;
                    item.UnitPrice      = request.UnitPrice;
                    await _foodItemRepository.Update(item);

                    FoodItem updatedResult = await _foodItemRepository.GetById(id);

                    FoodItemDto result = _mapper.Map <FoodItem, FoodItemDto>(updatedResult);
                    return(new BaseDtoResponse <FoodItemDto>(result));
                }
                else
                {
                    return(new BaseDtoResponse <FoodItemDto>("Food Item Not found"));
                }
            }
            catch (Exception ex)
            {
                return(new BaseDtoResponse <FoodItemDto>($"An error occurred when updating the food item: {ex.Message}"));
            }
        }
Example #2
0
        public async Task <IActionResult> Update(Guid id, [FromBody] FoodItemCreateRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }
            try
            {
                var response = await _foodItemService.Update(id, request);

                return(Ok(response));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Example #3
0
        public async Task <BaseDtoResponse <FoodItemDto> > Add(FoodItemCreateRequest request)
        {
            try
            {
                FoodItem model = _mapper.Map <FoodItemCreateRequest, FoodItem>(request);
                FoodItem item  = await _foodItemRepository.Add(model);

                if (item != null)
                {
                    FoodItemDto result = _mapper.Map <FoodItem, FoodItemDto>(item);
                    return(new BaseDtoResponse <FoodItemDto>(result));
                }
                else
                {
                    return(new BaseDtoResponse <FoodItemDto>("Unable to create a new food item, try again"));
                }
            }
            catch (Exception ex)
            {
                return(new BaseDtoResponse <FoodItemDto>($"An error occurred when saving the food item: {ex.Message}"));
            }
        }