public async Task <IActionResult> OnGet() { var Token = HttpContext.GetToken(); DeliveryItemTypes = await _deliveryItemTypeService.GetDeliveryItemTypes(Token); DeliveryItemTypesOptions = DeliveryItemTypes.AsQueryable() .Select(dit => new SelectListItem { Value = dit.Id.ToString(), Text = dit.Name }).ToList(); Cars = await _carService.GetCars(Token); CarOptions = Cars.AsQueryable().Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.PlateNumber }).ToList(); Users = await _userService.GetUsers(Token); UserOptions = Users.AsQueryable().Select(u => new SelectListItem { Value = u.Id.ToString(), Text = u.EmailAddress }).ToList(); return(Page()); }
// метод для поиска автомобилей, аналогичен методу поиска клиентов public IEnumerable <Models.Library.Car> GetCars(SearchCarParam search) { var queryable = Cars.AsQueryable(); if (!string.IsNullOrWhiteSpace(search.Brand)) { queryable = queryable.Where(c => c.CarBrand.Brand.Contains(search.Brand)); } if (!string.IsNullOrWhiteSpace(search.Color)) { queryable = queryable.Where(c => c.Color.Contains(search.Color)); } if (!string.IsNullOrWhiteSpace(search.DriveType)) { queryable = queryable.Where(c => c.DriveType.Contains(search.DriveType)); } if (search.IsAvailable.HasValue) { queryable = queryable.Where(c => c.Status == (search.IsAvailable.Value ? CarStatus.Available : CarStatus.Rented)); } queryable = queryable.Where(c => c.YearOfIssue.Year >= search.StartYear && c.YearOfIssue.Year <= search.EndYear); return (queryable .ToArray() .Select(car => GetModelCarFromDB(car))); }