コード例 #1
0
        public async Task AdvancedSearchingTest1()
        {
            SetMockContext("jablonskim");
            AdvancedSearchingModel model = new AdvancedSearchingModel()
            {
                Username     = "******",
                MinimalDate  = new DateTime(2015, 12, 20),
                MinimalPrice = "300",
                PlaceName    = "Pensjonat pod różą"
            };

            var result = await _controller.Advanced(model);

            Assert.IsNotNull(result);
            Assert.AreEqual(2, model.Offers.Count());
        }
コード例 #2
0
        public async Task <ActionResult> Advanced(AdvancedSearchingModel model)
        {
            model.Username = HttpContext.User?.Identity?.Name;
            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "Niepoprawne dane");
                return(View(model));
            }
            if (!string.IsNullOrEmpty(ValidatePrices(model.MinimalPrice, model.MaximalPrice)))
            {
                ModelState.AddModelError("", ValidatePrices(model.MinimalPrice, model.MaximalPrice));
                return(View(model));
            }
            IList <OfferViewModel> models = await _searchDataAccessor.SearchByMultipleCriteriaAsync(Context, model);

            if (models == null)
            {
                ModelState.AddModelError("", "Błąd wyszukiwania");
            }
            model.Offers = models ?? new List <OfferViewModel>();
            return(View(model));
        }
コード例 #3
0
 public IList <OfferViewModel> SearchByMultipleCriteria(IAccommodationContext context, AdvancedSearchingModel model)
 {
     ISearchingCriterion <Offer>[] criteria = new[]
     {
         OffersSearchingCriteriaFactory.CreatePlaceSearchingCriterion(model.PlaceName, model.CityName),
         OffersSearchingCriteriaFactory.CreateDateSearchingCriterion(model.MinimalDate, model.MaximalDate),
         OffersSearchingCriteriaFactory.CreatePriceSearchingCriterion(PriceFromString(model.MinimalPrice), PriceFromString(model.MaximalPrice))
     };
     return(Search(context, model.Username, criteria, model.SortType, model.SortBy));
 }
コード例 #4
0
 public async Task <IList <OfferViewModel> > SearchByMultipleCriteriaAsync(IAccommodationContext context,
                                                                           AdvancedSearchingModel model)
 {
     return(await Task.Run(() => SearchByMultipleCriteria(context, model)));
 }
コード例 #5
0
        public ActionResult Advanced()
        {
            AdvancedSearchingModel model = new AdvancedSearchingModel();

            return(View(model));
        }