コード例 #1
0
        public async Task <DishesResult> GetDishes(Classes.GetDishesInput input)
        {
            DishesResult result = new DishesResult();

            try
            {
                EatRegeratorAPI.Client.GetDishesInput inputDishes = new EatRegeratorAPI.Client.GetDishesInput();
                inputDishes.TypeDishesGuid       = input.TypeDishesGuid;
                inputDishes.TypeKitchensGuid     = input.TypeKitchensGuid;
                inputDishes.TypeMenuGuid         = input.TypeMenuGuid;
                inputDishes.IncreaseProductGuids = input.IncreaseProductGuids;
                inputDishes.DecreaseProductGuids = input.DecreaseProductGuids;

                GetDishesResult output = await _eatClient.GetDishesAsync(inputDishes);

                if (output.ResultCode == -1)
                {
                    throw new Exception();
                }

                result.Dishes = output.Dishes?.Select(d => new Classes.Dishes
                {
                    DishGuid    = d.DishGuid,
                    Title       = d?.Title,
                    PictureUrl  = d?.PictureUrl,
                    Description = d?.Description
                }).ToList() ?? new List <Classes.Dishes>();
            }
            catch (Exception ex)
            {
                SetException(result, ex);
            }
            return(result);
        }
コード例 #2
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);
        }