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()); }
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)); }
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)); }
public async Task <IList <OfferViewModel> > SearchByMultipleCriteriaAsync(IAccommodationContext context, AdvancedSearchingModel model) { return(await Task.Run(() => SearchByMultipleCriteria(context, model))); }
public ActionResult Advanced() { AdvancedSearchingModel model = new AdvancedSearchingModel(); return(View(model)); }