Beispiel #1
0
        public FlightBookingModel BindSearchCookies(FlightBookingModel model, UserSearchFHCookiesModel cookie)
        {
            if (cookie != null)
            {
                model.SearchFlightResultViewModel = new SearchFlightResultViewModel()
                {
                    DepartureStation     = cookie.From,
                    ArrivalStation       = cookie.Destination,
                    BeginDate            = cookie.ArrivalDate.Value.ToLocalTime(),
                    EndDate              = cookie.DepartureDate.Value.ToLocalTime(),
                    Adults               = cookie.AdultNo,
                    Childrens            = cookie.ChildrenNo,
                    Infants              = cookie.InfantNo,
                    PrefferedAirlineCode = cookie.PrefferedAirlineCode,
                    NoOfRoom             = cookie.RoomNo,
                    CabinClass           = cookie.CabinClass,
                    TripType             = cookie.TripType
                };
            }

            return(model);
        }
Beispiel #2
0
        public ActionResult Index(string errorMsg)
        {
            int dayAdvance = Convert.ToInt32(Core.GetSettingValue("dayadvance"));

            FlightBookingModel model = Session["FlightBooking"] == null ? null : (FlightBookingModel)Session["FlightBooking"];
            int userid = 0;

            if (Request.IsAuthenticated && Core.EnableCMS)
            {
                return(RedirectToAction("RedirectAndPOST", "DynamicFormPostSurface", new { destinationUrl = System.Web.Configuration.WebConfigurationManager.AppSettings["AlphaReds.CMSUrl"], type = "SessionTransfer" }));
            }
            else if (Core.EnableCMS)
            {
                string CMSUrl         = Core.GetAppSettingValueEnhanced("AlphaReds.CMSUrl");
                string landingPageUrl = string.IsNullOrWhiteSpace(CMSUrl) ?
                                        "https://www.mayflower.com.my/" : CMSUrl;

                UriBuilder builder = new UriBuilder(landingPageUrl);
                var        query   = HttpUtility.ParseQueryString(builder.Query);

                if (Request.QueryString != null && Request.QueryString.Count > 0)
                {
                    foreach (var item in Request.QueryString)
                    {
                        query[item.ToString()] = Request.QueryString[item.ToString()];
                    }
                }

                builder.Query = query.ToString();

                Response.Redirect(builder.ToString());
            }

            /*else if (User.Identity.IsAuthenticated)
             * {
             *  if (model == null)
             *  {
             *      userid = Convert.ToInt32(User.Identity.Name);
             *      //model = HomeServiceController.getHomeModelWhenIsUserLogin(userid, dayAdvance);
             *  }
             * }*/

            // Initialize for Anonymous user //start validate
            model = Alphareds.Module.Public.Flight.Helper.GetHomeModelAnonymousUser(model, dayAdvance);

            List <UserSearchFHCookiesModel> UserCookies        = new List <UserSearchFHCookiesModel>();
            UserSearchFHCookiesModel        LatestFlightCookie = new UserSearchFHCookiesModel();
            JavaScriptSerializer            jsSerializer       = new JavaScriptSerializer();
            string trackingUserSearchCookiesList;
            string encryptCookies;

            if (Request.Cookies["SaveUserCookies"] != null)
            {
                encryptCookies = Request.Cookies["SaveUserCookies"].Value;
                trackingUserSearchCookiesList = Cryptography.AES.Decrypt(encryptCookies);

                UserCookies        = jsSerializer.Deserialize <List <UserSearchFHCookiesModel> >(trackingUserSearchCookiesList).ToList();
                LatestFlightCookie = UserCookies.LastOrDefault(x => x.ProductType == "flight");
                if (LatestFlightCookie != null)
                {
                    if (LatestFlightCookie.ArrivalDate.HasValue && LatestFlightCookie.ArrivalDate.Value.ToLocalTime().AddDays(1) < DateTime.Now.AddDays(dayAdvance))
                    {
                        LatestFlightCookie = null;
                    }
                    if (LatestFlightCookie != null)
                    {
                        model = BindSearchCookies(model, LatestFlightCookie);
                    }
                }
            }
            var locationList = Alphareds.Module.ServiceCall.CarsRentalServiceCall.GetBranchList();

            ViewBag.locationList = locationList;
            return(View(model));
        }
Beispiel #3
0
        public void AddFlightSearchCookie(SearchFlightResultViewModel model)
        {
            List <UserSearchFHCookiesModel> _userCookies = new List <UserSearchFHCookiesModel>();
            JavaScriptSerializer            jsSerializer = new JavaScriptSerializer();
            string trackingUserSearchCookiesList;
            string encryptedCookies;

            if (Request.Cookies["SaveUserCookies"] != null)
            {
                encryptedCookies = Request.Cookies["SaveUserCookies"].Value;
                trackingUserSearchCookiesList = Cryptography.AES.Decrypt(encryptedCookies);

                _userCookies = jsSerializer.Deserialize <List <UserSearchFHCookiesModel> >(trackingUserSearchCookiesList).ToList();
            }

            UserSearchFHCookiesModel addUserSearchFlightCookies = new UserSearchFHCookiesModel()
            {
                From                 = model.DepartureStation,
                Destination          = model.ArrivalStation,
                ArrivalDate          = model.BeginDate,
                DepartureDate        = model.EndDate,
                AdultNo              = model.Adults,
                ChildrenNo           = model.Childrens,
                InfantNo             = model.Infants,
                PrefferedAirlineCode = model.PrefferedAirlineCode,
                RoomNo               = model.NoOfRoom,
                TripType             = model.TripType,
                CabinClass           = model.CabinClass,
                ProductType          = "flight"
            };

            UserSearchFHCookiesModel checkUserSearchFlightCookies = new UserSearchFHCookiesModel();
            bool sameWithLast = false;

            if (_userCookies != null)
            {
                checkUserSearchFlightCookies = _userCookies.LastOrDefault(x => x.ProductType == "flight");
                if (checkUserSearchFlightCookies != null)
                {
                    if (checkUserSearchFlightCookies.Destination == addUserSearchFlightCookies.Destination &&
                        checkUserSearchFlightCookies.From == addUserSearchFlightCookies.From &&
                        ((checkUserSearchFlightCookies.DepartureDate.HasValue && addUserSearchFlightCookies.DepartureDate.HasValue &&
                          checkUserSearchFlightCookies.DepartureDate.Value.ToLocalTime() == addUserSearchFlightCookies.DepartureDate.Value) ||
                         (!checkUserSearchFlightCookies.DepartureDate.HasValue && !addUserSearchFlightCookies.DepartureDate.HasValue)) &&
                        ((checkUserSearchFlightCookies.ArrivalDate.HasValue && addUserSearchFlightCookies.ArrivalDate.HasValue &&
                          checkUserSearchFlightCookies.ArrivalDate.Value.ToLocalTime() == addUserSearchFlightCookies.ArrivalDate.Value) ||
                         (!checkUserSearchFlightCookies.ArrivalDate.HasValue && !addUserSearchFlightCookies.ArrivalDate.HasValue)) &&
                        checkUserSearchFlightCookies.AdultNo == addUserSearchFlightCookies.AdultNo &&
                        checkUserSearchFlightCookies.ChildrenNo == addUserSearchFlightCookies.ChildrenNo &&
                        checkUserSearchFlightCookies.InfantNo == addUserSearchFlightCookies.InfantNo &&
                        checkUserSearchFlightCookies.ChildrenNo == addUserSearchFlightCookies.ChildrenNo &&
                        checkUserSearchFlightCookies.PrefferedAirlineCode == addUserSearchFlightCookies.PrefferedAirlineCode &&
                        checkUserSearchFlightCookies.TripType == addUserSearchFlightCookies.TripType &&
                        checkUserSearchFlightCookies.CabinClass == addUserSearchFlightCookies.CabinClass)
                    {
                        sameWithLast = true;
                    }
                }
            }

            //if same with last dont add
            if (!sameWithLast)
            {
                _userCookies.Add(addUserSearchFlightCookies);
            }

            if (_userCookies.Where(x => x.ProductType == "flight").Count() > 2)
            {
                var removeOldCookie = _userCookies.First(x => x.ProductType == "flight");
                _userCookies.Remove(removeOldCookie);
            }
            string SerializeUserCookies = jsSerializer.Serialize(_userCookies);

            string encryptSerializeUserCookies = Cryptography.AES.Encrypt(SerializeUserCookies);
            var    UserCookie = new System.Web.HttpCookie("SaveUserCookies", encryptSerializeUserCookies)
            {
                Expires = DateTime.Now.AddDays(15)
            };

            HttpContext.Response.Cookies.Add(UserCookie);
        }