public async Task <OTA_VehAvailRateMoreRS> GetCarRentalListFromSearchInfo(ProductCarRental.SearchCriteria model)
 {
     return(await Task <OTA_VehAvailRateMoreRS> .Factory.StartNew(() =>
     {
         return CarsRentalServiceCall.GetCarRentalList(model);
     }));
 }
        public ActionResult Search(ProductCarRental.SearchCriteria model)
        {
            model = model ?? new ProductCarRental.SearchCriteria();
            FilterHotelResultModel filterResult = new FilterHotelResultModel();

            if (Core.GetSession(Enumeration.SessionName.CarRentalSearchReq, tripid) != null)
            {
                model = (ProductCarRental.SearchCriteria)Core.GetSession(Enumeration.SessionName.CarRentalSearchReq, tripid);
            }
            else if (model.PickupDateTime != DateTime.MinValue && model.ReturnDateTime != DateTime.MinValue && Core.GetSession(Enumeration.SessionName.CarRentalSearchReq, tripid) == null)
            {
                Core.SetSession(Enumeration.SessionName.CarRentalSearchReq, tripid, model);
            }
            else
            {
                // GO
                model.PickupDateTime = DateTime.Now.AddDays(double.Parse(Core.GetSettingValue("dayadvance")));
                // RETURN
                model.ReturnDateTime = model.PickupDateTime.AddDays(1);
            }

            #region If error from Reserve, show message.
            if (Core.GetSession(Enumeration.SessionName.ErrorMessage) != null)
            {
                ViewData.Add("ERRMSG", Core.GetSession(Enumeration.SessionName.ErrorMessage).ToString());
                Core.SetSession(Enumeration.SessionName.ErrorMessage, null);
            }
            #endregion

            CheckoutProduct checkoutmodel = new CheckoutProduct();
            if (Core.GetSession(Enumeration.SessionName.CheckoutProduct, tripid) != null)
            {
                checkoutmodel = (CheckoutProduct)Core.GetSession(Enumeration.SessionName.CheckoutProduct, tripid);
            }
            if (checkoutmodel.CarRental == null)
            {
                checkoutmodel.InsertProduct(new ProductCarRental
                {
                    SearchInfo = model,
                });
                Core.SetSession(Enumeration.SessionName.CheckoutProduct, tripid, checkoutmodel);
            }
            var locationList = CarsRentalServiceCall.GetBranchList();
            ViewBag.locationList = locationList;
            return(View(checkoutmodel));
        }