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