public ActionResult Checkout1(FilterFormVM model) { if (model.PickUpCity.Id == 0 || model.DropOffCity.Id == 0) { return(RedirectToAction("Index", "Home")); } SetBookingDataByFilterFormVM(model); SearchResultVM searchResult = new SearchResultVM(); searchResult.Products = _productService.Search(BookingData.OfferCriteria); searchResult.Properties = _propertyService.GetProperties(); searchResult.Destination = _locationService.GetLocationByBestemmingId(BookingData.OfferCriteria.OphaalBestemmingId); searchResult.TotalSearchResult = searchResult.Products.Any() ? searchResult.Products.First().Total : 0; searchResult.IsSearch = true; searchResult.BookingData = BookingData; searchResult.SelectedPropertyDetails = BookingData.OfferCriteria.EigenschapWaarden; var pickUpCity = BookingData.Destinations.Find(f => f.Id == BookingData.OfferCriteria.OphaalBestemmingId); if (pickUpCity != null) { searchResult.PickUpCityName = pickUpCity.DisplayName; } return(View(searchResult)); }
private void SetBookingDataByFilterFormVM(FilterFormVM model) { if (model != null) { BookingData.CurrentUrl = Request.RawUrl; BookingData.OfferCriteria.OphaalBestemmingId = model.PickUpCity.Id; BookingData.Destinations = new List <DestinationModel>(); if (BookingData.OfferCriteria.OphaalBestemmingId != 0) { BookingData.Destinations.Add(model.PickUpCity); } BookingData.OfferCriteria.TerugbrengBestemmingId = model.DropOffCity.Id; if (BookingData.OfferCriteria.TerugbrengBestemmingId != 0) { BookingData.Destinations.Add(model.DropOffCity); } BookingData.OfferCriteria.StartDate = DateTime.ParseExact(model.StartDate, GlobalStatic.DateFormatString, CultureInfo.InvariantCulture); BookingData.OfferCriteria.OphaalTijd = DateTime.ParseExact(model.PickUpTime, GlobalStatic.TimeFormatString, CultureInfo.InvariantCulture); BookingData.OfferCriteria.EndDate = DateTime.ParseExact(model.EndDate, GlobalStatic.DateFormatString, CultureInfo.InvariantCulture); BookingData.OfferCriteria.TerugbrengTijd = DateTime.ParseExact(model.DropOffTime, GlobalStatic.TimeFormatString, CultureInfo.InvariantCulture); TimeSpan tsOphaalTijd = new TimeSpan(BookingData.OfferCriteria.OphaalTijd.Hour, BookingData.OfferCriteria.OphaalTijd.Minute, BookingData.OfferCriteria.OphaalTijd.Second); TimeSpan tsTerugBrengTijd = new TimeSpan(BookingData.OfferCriteria.TerugbrengTijd.Hour, BookingData.OfferCriteria.TerugbrengTijd.Minute, BookingData.OfferCriteria.TerugbrengTijd.Second); BookingData.OfferCriteria.StartDate += tsOphaalTijd; BookingData.OfferCriteria.EndDate += tsTerugBrengTijd; BookingData.OfferCriteria.MaxPrijs = 1000000; BookingData.OfferCriteria.NumberOfAdults = 2; BookingData.OfferCriteria.ZoekBestemmingId = model.PickUpCity.ParentId.HasValue ? model.PickUpCity.ParentId.Value : 0; BookingData.OfferCriteria.ZoekTerugbrengBestemmingId = model.DropOffCity.ParentId.HasValue ? model.DropOffCity.ParentId.Value : 0; BookingData.OfferCriteria.Busjetype = (BusjeType)model.CarType; } }
public ActionResult _FilterLocationForm() { var model = new FilterFormVM(); model.Destinations = _locationService.GetAllDestination(); var cities = new List <SelectListItem>(); foreach (var destination in model.Destinations) { cities.AddRange(destination.Cities.Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.DisplayName }).ToList()); } model.DestinationSelectItem = cities.OrderBy(c => c.Text).ToList(); model.CarType = (int)BookingData.OfferCriteria.Busjetype == 0 ? 10 : (int)BookingData.OfferCriteria.Busjetype; model.PickUpCity = model.GetCity(BookingData.OfferCriteria.OphaalBestemmingId); model.DropOffCity = model.GetCity(BookingData.OfferCriteria.TerugbrengBestemmingId); DateTime startDate = BookingData.OfferCriteria.StartDate; if (startDate.Ticks != 0) { model.StartDate = startDate.ToString(GlobalStatic.DateFormatString); model.StartDateString = startDate.ToString(GlobalStatic.DateFormatString); model.PickUpTime = startDate.ToString(GlobalStatic.TimeFormatString); model.PickUpTimeString = startDate.ToString(GlobalStatic.TimeFormatString); } DateTime endDate = BookingData.OfferCriteria.EndDate; //BookingData.OfferCriteria.EndDate.Ticks == 0 ? DateTime.Now.AddDays(7) : BookingData.OfferCriteria.EndDate; if (endDate.Ticks != 0) { model.EndDate = endDate.ToString(GlobalStatic.DateFormatString); model.EndDateString = endDate.ToString(GlobalStatic.DateFormatString); model.DropOffTime = endDate.ToString(GlobalStatic.TimeFormatString); model.DropOffTimeString = endDate.ToString(GlobalStatic.TimeFormatString); } model.PickupOpeningHour = GetOpeningHour(BookingData.OfferCriteria.OphaalBestemmingId, string.IsNullOrEmpty(model.StartDateString) ? string.Empty : model.StartDateString); model.DropOffOpeningHour = GetOpeningHour(BookingData.OfferCriteria.TerugbrengBestemmingId, string.IsNullOrEmpty(model.EndDateString) ? string.Empty : model.EndDateString); return(PartialView(model)); }
public ActionResult Checkout1(string urlNameParent, string urlName) { if (!IsNotSearch) { if (BookingData == null || BookingData.OfferCriteria == null || BookingData.OfferCriteria.OphaalBestemmingId == 0) { return(RedirectToAction("Index", "Home")); } SearchResultVM searchResult = new SearchResultVM(); searchResult.Products = _productService.Search(BookingData.OfferCriteria); searchResult.Properties = _propertyService.GetProperties(); searchResult.Destination = _locationService.GetLocationByBestemmingId(BookingData.OfferCriteria.OphaalBestemmingId); searchResult.TotalSearchResult = searchResult.Products.Any() ? searchResult.Products.First().Total : 0; searchResult.IsSearch = true; searchResult.BookingData = BookingData; searchResult.SelectedPropertyDetails = BookingData.OfferCriteria.EigenschapWaarden; var pickUpCity = BookingData.Destinations.Find(f => f.Id == BookingData.OfferCriteria.OphaalBestemmingId); if (pickUpCity != null) { searchResult.PickUpCityName = pickUpCity.DisplayName; } return(View(searchResult)); } else { var destination = _locationService.GetDestinationByUrl(urlName); if (destination == null) { return(RedirectToAction("Index", "Home")); } FilterFormVM model = new FilterFormVM(); model.CarType = 10; model.PickUpCity = destination; var availableDays = _locationService.GetAvailableDays(model.PickUpCity.Id); if (availableDays.Count == 0) { return(RedirectToAction("Index", "Home")); } DateTime defaultDate = (new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 9, 0, 0).AddDays(2)).DefaultValidDate(GlobalStatic.Holidays, availableDays); model.PickUpTime = defaultDate.ToString("HH:mm:ss"); model.PickUpTimeString = defaultDate.ToString("HH:mm"); model.StartDate = defaultDate.ToString("dd-MM-yyyy"); model.StartDateString = defaultDate.ToString("dd-MM"); model.DropOffCity = destination; availableDays = _locationService.GetAvailableDays(model.DropOffCity.Id); if (availableDays.Count == 0) { return(RedirectToAction("Index", "Home")); } var availableEndDate = defaultDate.AddDays(1).DefaultValidDate(GlobalStatic.Holidays, availableDays); model.DropOffTime = defaultDate.ToString("HH:mm:ss"); model.DropOffTimeString = defaultDate.ToString("HH:mm"); model.EndDate = availableEndDate.ToString("dd-MM-yyyy"); model.EndDateString = availableEndDate.ToString("dd-MM"); SetBookingDataByFilterFormVM(model); SearchResultVM searchResult = new SearchResultVM(); searchResult.Products = _productService.Search(BookingData.OfferCriteria); searchResult.Properties = _propertyService.GetProperties(); searchResult.Destination = _locationService.GetLocationByBestemmingId(BookingData.OfferCriteria.OphaalBestemmingId); searchResult.TotalSearchResult = _productService.CountSearch(BookingData.OfferCriteria); searchResult.BookingData = BookingData; searchResult.SelectedPropertyDetails = BookingData.OfferCriteria.EigenschapWaarden; var pickUpCity = BookingData.Destinations.Find(f => f.Id == BookingData.OfferCriteria.OphaalBestemmingId); if (pickUpCity != null) { searchResult.PickUpCityName = pickUpCity.DisplayName; } return(View(searchResult)); } }