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); }
public GetDishesResult GetDishes(GetDishesInput input) { return(eatService.GetDishes(input)); }