public async void Should_Return_Filtered_VehicleModels() { // Arrange var vehicleModelsQueryable = DataProvider.GetVehicleModels().AsQueryable().BuildMock(); var filter = new VehicleModelFilter { Manufacturer = "Ford" }; var vehicleModelRepositoryMock = new Mock <IGenericRepository <VehicleModel, int> >(); vehicleModelRepositoryMock.Setup(m => m.Get()) .Returns(vehicleModelsQueryable.Object); var vehicleModelController = new VehicleModelController(vehicleModelRepositoryMock.Object, Mock.Of <IGenericRepository <Vehicle, int> >(), MapperProvider.GetMapper()); // Act var request = await vehicleModelController.Get(filter); var result = request as OkObjectResult; // Assert Assert.NotNull(result); Assert.True(result.StatusCode == 200); var dtos = result.Value as List <VehicleModelDto>; Assert.NotNull(dtos); Assert.True(dtos.Count == 2); }
private List <SelectListItem> GetVehicleModel() { VehicleModelFilter filter = new VehicleModelFilter(); filter.Name = ""; return(VehicleModelService.Get(filter).Select(b => new SelectListItem(b.Name, b.Id.ToString())).ToList()); }
private IQueryable <VehicleModelEntity> HandleFilteringForVehicleModels(VehicleModelFilter filter) { IQueryable <VehicleModelEntity> vehicleModels; if (filter.VehicleMakeId.HasValue) { if (!String.IsNullOrEmpty(filter.Name)) { vehicleModels = Context.VehicleModels.Where(vm => vm.VehicleMakeId == filter.VehicleMakeId && vm.Abrv.Contains(filter.Name.ToLower())); } else { vehicleModels = Context.VehicleModels.Where(vm => vm.VehicleMakeId == filter.VehicleMakeId); } } else if (!String.IsNullOrEmpty(filter.Name)) { vehicleModels = Context.VehicleModels.Where(vm => vm.Abrv.Contains(filter.Name.ToLower())); } else { vehicleModels = Context.VehicleModels; } return(vehicleModels); }
public ActionResult Index() { VehicleModelFilter filter = new VehicleModelFilter(); var items = VehicleModelService.Get(filter); return(View(items)); }
public async Task <IActionResult> Get([FromQuery] VehicleModelFilter filter) { var query = filter.Filter(vehicleModelRepository.Get()); var vehicleModels = await query.ToListAsync(); return(Ok(mapper.Map <IEnumerable <VehicleModelDto> >(vehicleModels))); }
public List <VehicleModel> Get(VehicleModelFilter filter) { var items = (from m in Context.VehicleModel orderby m.Name select m).ToList(); return(items); }
public async Task <PagedResult <VehicleDto> > GetVehicles(VehicleModelFilter filter = null) { if (filter == null) { filter = new VehicleModelFilter(); } if (filter?.PageSize < 0) { filter.PageSize = null; } if (filter?.PageNumber < 0) { filter.PageNumber = null; } IQueryable <VehicleModel> vehicleModels = _dbContext.VehicleModels .Include(vm => vm.Ratings); if (!string.IsNullOrWhiteSpace(filter?.VehicleType)) { vehicleModels = vehicleModels.Where(vm => vm.VehicleType.Contains(filter.VehicleType)); } if (filter?.MinPricePerDay != null) { vehicleModels = vehicleModels.Where(vm => vm.PricePerDay >= filter.MinPricePerDay); } if (filter?.MaxPricePerDay != null) { vehicleModels = vehicleModels.Where(vm => vm.PricePerDay <= filter.MaxPricePerDay); } if (filter.Active) { vehicleModels = vehicleModels.Where(vm => vm.Active == filter.Active); } int?Total = null; if (((filter?.PageSize) ?? 0) != 0) { filter.PageNumber = filter.PageNumber ?? 0; Total = vehicleModels.Count(); vehicleModels = vehicleModels.Skip(filter.PageNumber.Value * filter.PageSize.Value).Take(filter.PageSize.Value); } var results = await vehicleModels .Select(VehicleDtoSelector) .ToListAsync(); return(new PagedResult <VehicleDto> { Total = Total, PageNumber = filter.PageNumber, PageSize = filter.PageSize, Results = results }); }
public async Task <PaginationList <IVehicleModel> > GetVehicleModelsAsync(VehicleModelFilter filter, int currentPage = 1, string orderBy = "") { var vehicleModelsEntities = HandleFilteringForVehicleModels(filter); vehicleModelsEntities = HandleSortingForVehicleModels(vehicleModelsEntities, orderBy); var vehicleModels = Mapper.Map <IEnumerable <IVehicleModel> >(vehicleModelsEntities); var paginationList = new PaginationList <IVehicleModel>(vehicleModels, currentPage); return(await Task.FromResult(paginationList)); }
public List <VehicleModelDTO> Get(VehicleModelFilter filter) { var items = (from m in Context.VehicleModel join b in Context.VehicleBrand on m.VehicleBrandId equals b.Id orderby m.Name select new VehicleModelDTO { Id = m.Id, Name = m.Name, VehicleBrandId = m.VehicleBrandId, VehicleBrandName = b.Name }).ToList(); return(items); }
public async Task OnGetAsync(string vehicleType, decimal?minPrice, decimal?maxPrice, string currentVehicleType, decimal?currentMinPrice, decimal?currentMaxPrice, int?pageNumber) { VehicleModelFilter filter = new VehicleModelFilter(); filter.Active = true; User user = await _userManager.GetUserAsync(HttpContext.User); if (user != null) { if (_userManager.IsInRoleAsync(user, "Administrators").Result || _userManager.IsInRoleAsync(user, "Assistant").Result) { filter.Active = false; } } if (vehicleType != null || minPrice != null || maxPrice != null) { pageNumber = 0; } else { if (string.IsNullOrEmpty(vehicleType)) { vehicleType = currentVehicleType; } if (minPrice == null) { minPrice = currentMinPrice; } if (maxPrice == null) { maxPrice = currentMaxPrice; } } VehicleType = vehicleType; MinPrice = minPrice; MaxPrice = maxPrice; filter.PageNumber = pageNumber ?? 0; filter.VehicleType = vehicleType; filter.MinPricePerDay = minPrice; filter.MaxPricePerDay = maxPrice; _logger.LogInformation(LoggingEvents.ListItems, "List VehicleModels"); Vehicles = await _vehicleModelService.GetVehicles(filter); }
// GET: VehicleModel public async Task <ActionResult> Index(Guid id, string orderBy, int currentPage, string searchQuery = "") { var vehicleMakeId = id; if (vehicleMakeId != null) { var filter = new VehicleModelFilter() { VehicleMakeId = vehicleMakeId, Name = searchQuery }; var vehicleModelsPaginationList = await Service.GetVehicleModelsAsync(filter, currentPage, orderBy); var mapped = Mapper.Map <IEnumerable <VehicleModelViewModel> >(vehicleModelsPaginationList.Items); ViewBag.TotalPages = vehicleModelsPaginationList.TotalPages; ViewBag.VehicleMakeId = vehicleMakeId.ToString(); return(View(mapped)); } return(RedirectToAction(nameof(VehicleMakeController.Index))); }
public virtual async Task <IEnumerable <IVehicleModel> > GetAsync(VehicleModelFilter filter = null) { return(Mapper.Map <IEnumerable <Model.VehicleModelPoco> >(Repository.GetWhere <VehicleModel>()).ToList()); }
public virtual Task <IEnumerable <IVehicleModel> > GetAsync(VehicleModelFilter filter = null) { return(Repository.GetAsync(filter)); }