Пример #1
0
        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());
        }
Пример #2
0
        // метод для поиска автомобилей, аналогичен методу поиска клиентов
        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)));
        }