Exemple #1
0
        public List <Advertisement> GetAdsByFilter(AdSearchFilter searchFilter)
        {
            var result = advertisementRepo.GetTable()
                         .Include(ad => ad.bikeModel).ThenInclude(model => model.bikeBrand)
                         .AsQueryable();

            if (searchFilter != null)
            {
                if (searchFilter.brandId.HasValue)
                {
                    result = result.Where(ad => ad.bikeModel.brandID == searchFilter.brandId);
                }

                if (searchFilter.priceFrom.HasValue)
                {
                    result = result.Where(ad => ad.price >= searchFilter.priceFrom);
                }

                if (searchFilter.priceTo.HasValue)
                {
                    result = result.Where(ad => ad.price <= searchFilter.priceTo);
                }

                if (searchFilter.regionId.HasValue)
                {
                    result = result.Where(ad => ad.city.regionID == searchFilter.regionId);
                }
            }

            return(result.ToList());
        }
        public bool LoadFilterData(AdSearchFilter searchFilter)
        {
            searchFilter.bikeBrands = bikeBrandRepo.GetAll().ToList();
            searchFilter.regions    = regionRepo.GetAll().ToList();

            return(true);
        }
Exemple #3
0
        public void PriceFromTo()
        {
            // Arrange
            int expectedPriceFrom = 1000;
            int expectedPriceTo   = 2000;

            AdSearchFilter filter = new AdSearchFilter
            {
                priceFrom = expectedPriceFrom,
                priceTo   = expectedPriceTo
            };

            var             serviceProvider = GetServiceProvider();
            var             AdRepository    = serviceProvider.GetService <IGenericRepository <Advertisement> >();
            AdFilterService adFilterService = new AdFilterService(AdRepository);

            // Act
            var advertisementsList = adFilterService.GetAdsByFilter(filter);

            // Assert
            for (int i = 0; i < advertisementsList.Count; i++)
            {
                Assert.IsTrue(advertisementsList[i].price >= expectedPriceFrom);
                Assert.IsTrue(advertisementsList[i].price <= expectedPriceTo);
            }
        }
Exemple #4
0
        public void BrandSelected()
        {
            // Arrange
            int expectedBrandId = 2;

            AdSearchFilter filter = new AdSearchFilter
            {
                brandId = expectedBrandId
            };

            var             serviceProvider = GetServiceProvider();
            var             AdRepository    = serviceProvider.GetService <IGenericRepository <Advertisement> >();
            AdFilterService adFilterService = new AdFilterService(AdRepository);

            // Act
            var advertisementsList = adFilterService.GetAdsByFilter(filter);

            // Assert
            for (int i = 0; i < advertisementsList.Count; i++)
            {
                Assert.IsTrue(advertisementsList[i].bikeModel.brandID == expectedBrandId);
            }
        }
Exemple #5
0
 public SearchAdViewModel()
 {
     searchFilter = new AdSearchFilter();
 }