public Food Transform(EditFoodDto dto, Food entity)
 {
     entity.IsGlutenFree = dto.IsGlutenFree;
     entity.IsDairyFree  = dto.IsDairyFree;
     entity.IsNutFree    = dto.IsNutFree;
     entity.Calorie      = dto.Calorie;
     entity.Price        = dto.Price;
     return(entity);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// A megadott azonosítójú étel szerkesztése.
        /// Ha a megadott azonosítóval étel nem található, akkor kivételt dobunk.
        /// </summary>
        /// <param name="foodId">Az étel azonosítója.</param>
        /// <param name="food">A étel módosítandó adatai.</param>
        /// <returns>A módosított étel.</returns>
        public async Task <FoodDto> EditFood(int foodId, EditFoodDto food)
        {
            var dbFood = (await dbContext.Foods
                          .SingleOrDefaultAsync(f => f.Id == foodId))
                         .CheckIfFoodNull();

            dbFood.Price       = food.Price;
            dbFood.Description = food.Description;
            await dbContext.SaveChangesAsync();

            return(await dbContext.Entry(dbFood).ToFoodDto());
        }
Ejemplo n.º 3
0
        public async Task EditFood(EditFoodDto request)
        {
            var entity = _foodRepository.Get(request.Id);

            if (entity != null)
            {
                var adapter = new EditFoodAdapter();
                await _restaurantManager.EditFood(adapter.Transform(request, entity));
            }
            else
            {
                throw new Exception("Given food is not found to delete");
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// A megadott azonosítójú étel adatainak módosítása, ha az étel ugyanahhoz
        /// az étteremhez tartozik, mint amit az aktuális felhasználó birtokol.
        /// </summary>
        /// <param name="foodId">Az étel azonosítója.</param>
        /// <param name="food">Az étel módosítandó adatai.</param>
        /// <returns>A módosított étel.</returns>
        public async Task <FoodDto> EditFood(int foodId, EditFoodDto food)
        {
            string userId            = httpContext.GetCurrentUserId();
            int    ownerRestaurantId = await userRepository.GetMyRestaurantId(userId);

            int foodRestaurantId = await foodRepository.GetFoodRestaurantId(foodId);

            if (ownerRestaurantId == foodRestaurantId)
            {
                return(await foodRepository.EditFood(foodId, food));
            }

            throw new ProblemDetailsException(StatusCodes.Status400BadRequest,
                                              "A megadott azonosítóval rendelkező étel szerkesztéséhez nincs jogosultságod.");
        }
Ejemplo n.º 5
0
 public async Task <ActionResult <FoodDto> > EditFood(int foodId, [FromBody] EditFoodDto food)
 {
     return(await foodManager.EditFood(foodId, food));
 }