public OperationResultValue <List <ServiceDataContracts.Dish> > GetDishPage(DishFilter filter, PageInfo page) { return(dishService.GetDishPage(filter, page)); }
public OperationResultValue <List <ServiceDataContracts.Dish> > GetDishPage(DishFilter filter, PageInfo page) { var result = new List <ServiceDataContracts.Dish>(); var list = new List <Entities.Dish>(); var querableList = db.Dish.Where(dish => true); if (!string.IsNullOrEmpty(filter.RussianNameLike)) { querableList = querableList.Where(d => d.RussianName.Contains(filter.RussianNameLike)); } if (filter.FlightPriceEnd != null) { querableList = querableList.Where(d => d.PriceForFlight <= filter.FlightPriceEnd); } if (filter.FlightPriceStart != null) { querableList = querableList.Where(d => d.PriceForFlight >= filter.FlightPriceStart); } if (filter.FlightPriceStart != null) { querableList = querableList.Where(d => d.PriceForFlight >= filter.FlightPriceStart); } if (filter.IsActive != null) { querableList = querableList.Where(d => d.IsActive == filter.IsActive); } if (filter.IsTemporary != null) { querableList = querableList.Where(d => d.IsActive == filter.IsTemporary); } if (filter.IsAlcohol != null) { querableList = querableList.Where(d => d.IsAlcohol == filter.IsAlcohol); } list = querableList.OrderBy(d => d.RussianName) .Skip(page.Skip) .Take(page.Take).ToList(); //if (string.IsNullOrEmpty(filter.RussianNameLike)) //{ // list = db.Dish.Where(d => d.PriceForFlight <= filter.FlightPriceEnd && // d.PriceForFlight >= filter.FlightPriceStart) // //.OrderBy(d => d.RussianName) // .OrderBy(d => d.Id) // .Skip(page.Skip) // .Take(page.Take).ToList(); //} //else //{ // list = db.Dish.Where(d => d.RussianName.Contains(filter.RussianNameLike) && // d.PriceForFlight <= filter.FlightPriceEnd && // d.PriceForFlight >= filter.FlightPriceStart) // .OrderBy(d => d.RussianName) // .Skip(page.Skip) // .Take(page.Take).ToList(); //} result = list.Select(dish => new ServiceDataContracts.Dish { Id = dish.Id, Barcode = dish.Barcode, EnglishName = dish.EnglishName, SHId = dish.SHId, Name = dish.Name, NeedPrintInMenu = dish.NeedPrintInMenu, IsActive = dish.IsActive, IsTemporary = dish.IsTemporary, IsToGo = dish.IsToGo, IsAlcohol = dish.IsAlcohol, PriceForDelivery = dish.PriceForDelivery, PriceForFlight = dish.PriceForFlight, RussianName = dish.RussianName, LabelEnglishName = dish.LabelEnglishName, LabelRussianName = dish.LabelRussianName, DishKitсhenGroupId = dish.DishKitсhenGroupId, /* * DishKitсhenGroup = dish.DishKitсhenGroup == null? null: new ServiceDataContracts.DishKitchenGroup * { * Id = dish.DishKitсhenGroup.Id, * IsActive = dish.DishKitсhenGroup.IsActive, * Name = dish.DishKitсhenGroup.Name, * EnglishName = dish.DishKitсhenGroup.EnglishName, * PositionForPrint = dish.DishKitсhenGroup.PositionForPrint * }, */ DishLogicGroupId = dish.DishLogicGroupId, /* * DishLogicGroup = dish.DishLogicGroup == null? null: new ServiceDataContracts.DishLogicGroup * { * Id = dish.DishLogicGroup.Id, * IsActive = dish.DishLogicGroup.IsActive, * Name = dish.DishLogicGroup.Name, * PositionForPrint = dish.DishLogicGroup.PositionForPrint * }, */ ToFlyLabelSeriesCount = dish.ToFlyLabelSeriesCount, ToGoLabelSeriesCount = dish.ToGoLabelSeriesCount } ).ToList(); return(new OperationResultValue <List <ServiceDataContracts.Dish> > { Success = true, Result = result }); }