public async Task <IActionResult> TaxiOffers(string searchString, SortState.SortingState sortOrder = SortState.SortingState.StartPointAsc) { var taxiOffers = await db.TaxiOffers.ToListAsync(); List <TaxiOffer> taxi = new List <TaxiOffer>(); for (int i = 0; i < taxiOffers.Count(); i++) { if (taxiOffers[i].OfferStatus == "Свободен") { taxi.Add(taxiOffers[i]); } } if (!String.IsNullOrEmpty(searchString)) { taxi = taxi.Where(s => s.Name.Contains(searchString)).ToList(); } ViewData["PriceSort"] = sortOrder == SortState.SortingState.PriceAsc ? SortState.SortingState.PriceDesc : SortState.SortingState.PriceAsc; switch (sortOrder) { case SortState.SortingState.PriceDesc: taxi = taxi.OrderByDescending(s => s.Price).ToList(); break; default: taxi = taxi.OrderBy(s => s.Price).ToList(); break; } return(View(taxi)); }
public async Task <IActionResult> TaxiOrders(string searchString, SortState.SortingState sortOrder = SortState.SortingState.StartPointAsc) { var taxiOrders = await db.Orders.ToListAsync(); List <Order> taxi = new List <Order>(); for (int i = 0; i < taxiOrders.Count(); i++) { if (taxiOrders[i].OrderStatus != "Выполнен" && taxiOrders[i].ReceiverId == null && taxiOrders[i].OrderStatus != "Выполняется") { taxi.Add(taxiOrders[i]); } } if (!String.IsNullOrEmpty(searchString)) { taxi = taxi.Where(s => s.StartPoint.Contains(searchString)).ToList(); } taxi.OrderByDescending(s => s.StartPoint).ToList(); ViewData["StartPointSort"] = sortOrder == SortState.SortingState.StartPointAsc ? SortState.SortingState.StartPointDesc : SortState.SortingState.StartPointAsc; ViewData["EndPointSort"] = sortOrder == SortState.SortingState.EndPointAsc ? SortState.SortingState.EndPointDesc : SortState.SortingState.EndPointAsc; ViewData["DateSort"] = sortOrder == SortState.SortingState.DateAsc ? SortState.SortingState.DateDesc : SortState.SortingState.DateAsc; ViewData["StatusSort"] = sortOrder == SortState.SortingState.StatusOrderAsc ? SortState.SortingState.StatusOrderDesc : SortState.SortingState.StatusOrderAsc; switch (sortOrder) { case SortState.SortingState.StartPointDesc: taxi = taxi.OrderByDescending(s => s.StartPoint).ToList(); break; case SortState.SortingState.EndPointAsc: taxi = taxi.OrderBy(s => s.EndPoint).ToList(); break; case SortState.SortingState.EndPointDesc: taxi = taxi.OrderByDescending(s => s.EndPoint).ToList(); break; case SortState.SortingState.DateAsc: taxi = taxi.OrderBy(s => s.Time).ToList(); break; case SortState.SortingState.DateDesc: taxi = taxi.OrderByDescending(s => s.Time).ToList(); break; case SortState.SortingState.StatusOrderAsc: taxi = taxi.OrderBy(s => s.OrderStatus).ToList(); break; case SortState.SortingState.StatusOrderDesc: taxi = taxi.OrderByDescending(s => s.OrderStatus).ToList(); break; default: taxi = taxi.OrderBy(s => s.StartPoint).ToList(); break; } return(View(taxi.ToList())); }