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}")); } }
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)); } }
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}")); } }