Beispiel #1
0
        public GetDishesResult GetDishes(GetDishesInput input)
        {
            GetDishesResult result = new GetDishesResult();

            try
            {
                var dishes = db.Dishes.Include(d => d.Product2Dishs).ThenInclude(pd => pd.ProductGu).ToList();

                if (input.TypeDishesGuid != null)
                {
                    dishes = dishes.Where(d => d.TypeGuid == input.TypeDishesGuid).ToList();
                }
                if (input.TypeKitchensGuid != null)
                {
                    dishes = dishes.Where(d => d.TypeKitchenGuid == input.TypeKitchensGuid).ToList();
                }
                if (input.TypeMenuGuid != null)
                {
                    dishes = dishes.Where(d => d.TypeMenuGuid == input.TypeMenuGuid).ToList();
                }

                if (input.DecreaseProductGuids != null)
                {
                    foreach (var product in input.DecreaseProductGuids)
                    {
                        dishes = dishes.Where(d => d.Product2Dishs.Find(p => p.ProductGuid == product) == null).ToList();
                    }
                }

                if (input.IncreaseProductGuids != null)
                {
                    foreach (var product in input.IncreaseProductGuids)
                    {
                        dishes = dishes.Where(d => d.Product2Dishs.Find(p => p.ProductGuid == product) != null).ToList();
                    }
                }

                result.Dishes = dishes?.Select(d => new Dish
                {
                    CookingTime     = d?.CookingTime,
                    Description     = d?.Description,
                    DishGuid        = d.DishGuid,
                    PictureUrl      = d?.PictureUrl,
                    Title           = d?.Title,
                    TypeGuid        = d.TypeGuid,
                    TypeKitchenGuid = d.TypeKitchenGuid,
                    TypeMenuGuid    = d.TypeMenuGuid
                }).ToList() ?? new List <Dish>();;
            }
            catch (Exception ex)
            {
                SetException(result, ex);
            }
            return(result);
        }
Beispiel #2
0
 public GetDishesResult GetDishes(GetDishesInput input)
 {
     return(eatService.GetDishes(input));
 }