public async Task <IActionResult> Sorting(string sortOrder) { CheckAvailability(); ViewBag.RegSortParm = (sortOrder == "RegistrationNum") ? $"{sortOrder}_desc" : "RegistrationNum"; ViewBag.DateSortParm = (sortOrder == "EntryDate") ? $"{sortOrder}_desc" : "EntryDate"; ViewBag.VehicleTypeSortParm = (sortOrder == "VehicleType") ? $"{sortOrder}_desc" : "VehicleType"; ViewBag.TotalTimeSortParm = (sortOrder == "TotalTime") ? $"{sortOrder}_desc" : "TotalTime"; var vehicles = from v in _context.ParkedVehicle select v; switch (sortOrder) { case "RegistrationNum": vehicles = vehicles.OrderBy(v => v.RegistrationNum); break; case "RegistrationNum_desc": vehicles = vehicles.OrderByDescending(v => v.RegistrationNum); break; case "EntryDate": vehicles = vehicles.OrderBy(v => v.EnteringTime); break; case "EntryDate_desc": vehicles = vehicles.OrderByDescending(v => v.EnteringTime); break; case "VehicleType": vehicles = vehicles.OrderBy(v => v.VehicleType); break; case "VehicleType_desc": vehicles = vehicles.OrderByDescending(v => v.VehicleType); break; case "TotalTime": vehicles = vehicles.OrderBy(v => v.EnteringTime); break; case "TotalTime_desc": vehicles = vehicles.OrderByDescending(v => v.EnteringTime); break; } var geniral = mapper.ProjectTo <GeneralInfoViewModel>(vehicles); var list = new VehicleFilterViewModel { Types = await GetVehicleTypeAsync(), GenralVehicles = geniral.ToList() }; return(View("GeneralInfoGarage", list)); }
public static VehicleFilterViewModel GetFilterList(this DbSet <ParkedVehicle> listOfPV, IMapper mapper) { IQueryable <ParkedVehicle> v = listOfPV; var geniral = mapper.ProjectTo <GeneralInfoViewModel>(v); var list = new VehicleFilterViewModel { Types = GetVehicleTypeAsync(listOfPV), GenralVehicles = geniral.ToList() }; return(list); }
public async Task <IActionResult> GeneralInfoGarage(VehicleFilterViewModel viewModel, string RegistrationNum) { CheckAvailability(); var vehicles = string.IsNullOrWhiteSpace(RegistrationNum) ? _context.ParkedVehicle : _context.ParkedVehicle.Where(v => v.RegistrationNum.StartsWith(RegistrationNum) || v.Brand.StartsWith(RegistrationNum)); vehicles = viewModel.VehicleType == null ? vehicles : vehicles.Where(m => m.VehicleType == viewModel.VehicleType); var geniral = mapper.ProjectTo <GeneralInfoViewModel>(vehicles); var list = new VehicleFilterViewModel { Types = await GetVehicleTypeAsync(), GenralVehicles = geniral.ToList() }; return(View("GeneralInfoGarage", list)); }