public IHttpActionResult SearchByMultipleCriteria(AdvancedSearchRequestDto dto)
 {
     ISearchingCriterion <Offer>[] criteria = new[]
     {
         OffersSearchingCriteriaFactory.CreatePlaceSearchingCriterion(dto.PlaceName, dto.CityName),
         OffersSearchingCriteriaFactory.CreateDateSearchingCriterion(dto.MinimalDate, dto.MaximalDate),
         OffersSearchingCriteriaFactory.CreatePriceSearchingCriterion(dto.MinimalPrice, dto.MaximalPrice)
     };
     return(Search(dto.Username, criteria, dto.SortType, dto.SortBy));
 }
 public void AdvancedSearchingTest1()
 {
     AdvancedSearchRequestDto dto = new AdvancedSearchRequestDto()
     {
         Username     = "******",
         MinimalDate  = new DateTime(2015, 12, 20),
         MinimalPrice = 300,
         PlaceName    = "Pensjonat pod różą"
     };
 }
        public void AdvancedSearchingTest2()
        {
            AdvancedSearchRequestDto dto = new AdvancedSearchRequestDto()
            {
                Username     = "******",
                MinimalDate  = new DateTime(2015, 12, 20),
                MinimalPrice = 300,
                PlaceName    = "Pensjonat pod różą",
                MaximalPrice = 301
            };

            IHttpActionResult result = _controller.SearchByMultipleCriteria(dto);
            var contentResult        = result as OkNegotiatedContentResult <SearchResultDto>;

            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(1, contentResult.Content.Offers.Count());
        }
Пример #4
0
        public async Task <IEnumerable <Offer> > SearchByMultipleCriteria(string username, string placeName, string cityName,
                                                                          DateTime?minimalDate, DateTime?maximalDate, double?minimalPrice, double?maximalPrice, SortType sortType, SortBy sortBy)
        {
            AdvancedSearchRequestDto dto = new AdvancedSearchRequestDto()
            {
                Username     = username,
                PlaceName    = placeName,
                CityName     = cityName,
                MinimalDate  = minimalDate,
                MaximalDate  = maximalDate,
                MinimalPrice = minimalPrice,
                MaximalPrice = maximalPrice,
                SortBy       = sortBy,
                SortType     = sortType
            };
            var res = await Post <AdvancedSearchRequestDto, SearchResultDto>("advanced", dto);

            return(res.Offers);
        }