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));
        }
Ejemplo n.º 2
0
        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()));
        }