示例#1
0
        private void OriginalCall(SignIn model)
        {
            /**************************************************************
             * LoginUtils.VacationsRedirect(Request.Url.Host.ToLower());
             *************************************************************/
            if (Request.Url.Host.ToLower() == "dev.bluegreenonline.com")
            {
                Response.Redirect("http://mdev.bluegreenvacations.com/");
            }
            else if (Request.Url.Host.ToLower() == "stg.bluegreenonline.com")
            {
                Response.Redirect("http://stg.bluegreenvacations.com/");
            }
            else if (Request.Url.Host.ToLower() == "bluegreenonline.com" | Request.Url.Host.ToLower() == "www.bluegreenonline.com")
            {
                Response.Redirect("http://www.bluegreenvacations.com/");
            }

            // (LoginUtils.IsBgvfsReferrer(referrer)
            if (Request.Url.ToString().ToLower().Contains("signoff=true"))
            {
                // BlueGreenContext.DigestRequest()
                if (Request.Cookies["OwnerInfo"] != null)
                {
                    model.OwnerId   = Request.Cookies["OwnerInfo"]["OwnerId"];
                    model.OwnerType = Request.Cookies["OwnerInfo"]["OwnerType"];
                    model.TPStatus  = Request.Cookies["OwnerInfo"]["TPStatus"];
                }
                // BlueGreenContext.DigestRequest();
                System.Web.Security.FormsAuthentication.SignOut();
                foreach (string cookie in Request.Cookies.AllKeys)
                {
                    Request.Cookies.Remove(cookie);
                }

                bxgOwner = (BGO.OwnerWS.Owner)Session["BXGOwnerMedallia"];

                // BlueGreenContext.DigestRequest()
                if ((bxgOwner != null))
                {
                    HasOwnerInformation = true;
                    model.OwnerId       = bxgOwner.Arvact;

                    if (bxgOwner.User[0].isSampler)
                    {
                        model.OwnerType = "SAMPLER";
                    }
                    else
                    {
                        if ((string)Session["OwnerContractType"] == "Vacation Club")
                        {
                            model.OwnerType = "VACCLUB";
                        }
                        else
                        {
                            model.OwnerType = "TRADITIONAL";
                        }
                    }

                    if (bxgOwner.TravelerPlusMembership.IsTravelerPlusEligible)
                    {
                        if (bxgOwner.TravelerPlusMembership.AccountExpired)
                        {
                            model.TPStatus = "EXPIRED";
                        }
                        else
                        {
                            model.TPStatus = "ACTIVE";
                        }
                    }
                    else
                    {
                        model.TPStatus = "NOTELIGIBLE";
                    }
                }
            }

            // this.SetPostData()
            string tutorialRedirect = (string)Session["ReferrerURL"];

            if (tutorialRedirect != null)
            {
                if (tutorialRedirect.Contains("/tutorials/default.aspx"))
                {
                    model.IsTutorialTransfer = "True";
                }
            }

            //Check for user redirected for login. Assign the path info to
            //a variable to re-assign to session variable in case of session values cleared

            //If Session("_path_info") <> "" Then
            //    path_info = Session("_path_info")
            //End If


            if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
            {
                path_info = Request.QueryString["ReturnUrl"];
                path_info = path_info.Replace("%2f", "/");
            }

            model.sMessage             = "";
            model.IsTravelerPlusLogin  = "";
            model.IsEncoreRewardsLogin = "";

            //Sales users that are logged in go to the sales login page
            if ((string)Session["SalesUser"] == "BLUEGREEN")
            {
                Response.Redirect("SalesLogin.aspx", true);
            }

            HandleRedirects(model);

            string email_id = null;
            string pass     = null;

            email_id = (string)Session["email_id"];
            pass     = (string)Session["password"];

            //Allow Owner support agents to login as the owner from their application
            if (!string.IsNullOrEmpty(Request.Form["AgentID"]))
            {
                string sURL = Request.ServerVariables["HTTP_REFERER"] + "";
                if (Request.Form["AgentID"] == "SALESKIOSK" & sURL.ToLower().IndexOf("saleskiosk") > -1)
                {
                    email_id = "*****@*****.**";
                    pass     = "******";
                }
                else if (Request.Form["AgentID"] == "SALESKIOSKVC" & sURL.ToLower().IndexOf("saleskioskvc") > -1)
                {
                    email_id = "*****@*****.**";
                    pass     = "******";
                }
                else
                {
                    email_id = Request.Form["AgentLoginEmail"];
                    pass     = Request.Form["AgentLoginPassword"];
                }
                model.AgentLoginID = Request.Form["AgentID"];
            }

            sEmail   = "";
            sPass    = "";
            bxgOwner = (BGO.OwnerWS.Owner)Session["BXGOwnerMedallia"];
            string ownerContractType = (string)Session["OwnerContractType"];

            Session.Clear();
            Session["BXGOwnerMedallia"]  = bxgOwner;
            Session["OwnerContractType"] = ownerContractType;

            //re-assign path info to session variable
            Session["_path_info"] = path_info;
            if (!IsPostBack)
            {
                try
                {
                    //Allow logins from elsewhere to feed into this page
                    if (!string.IsNullOrEmpty(email_id) & !string.IsNullOrEmpty(pass))
                    {
                        sEmail = email_id;
                        sPass  = pass;
                    }
                }
                catch
                {
                }
            }

            //Display message for session timeouts
            if (Request.QueryString["sess"] == "timeout")
            {
                model.sMessage = UiUtils.BuildMessage("Either you are requesting a page that requires sign in for access, or your previous Bluegreen Online session timed out after 20 minutes of inactivity. Please sign in below.");
            }
            //Display message for blocked accounts
            if (Request.QueryString["acctstat"] == "block")
            {
                model.sMessage = UiUtils.BuildMessage("Your account does not qualify for online access at this time.  <BR>Please contact us at 800.456.CLUB(2582) and select option 2 to learn how to enable your account.");
            }
            if (!string.IsNullOrEmpty(Request.QueryString["ErrMessage"]))
            {
                model.sMessage = UiUtils.BuildMessage("Oasis Lakes owners: <font color='#000000'>The association news page has moved. To access it, please sign in below and click on the picture of The Fountains/Oasis Lakes clubhouse at the top of the home page. Then click on the <strong style='font-size:8pt'>Association Owners</strong> link on the left side of the Resort Detail page. If you have not yet enrolled in Bluegreen Online, click on the <strong style='font-size:8pt'>Not registered?</strong> link to do so.</font>");
            }

            //Display an error at the top of the login page if the Login was unsuccessful
            if (Request.QueryString["error"] == "NoConn")
            {
                model.sMessage = UiUtils.BuildMessage("We have encountered an unexpected error. Please wait a few minutes and try to log in again. We apologize for the inconvenience.");
            }

            if (Request.QueryString["lo"] == "1" | Request.QueryString["error"] == "NoACK")
            {
                Session.Clear();
                Session.Abandon();
                Session.RemoveAll();

                if (Request.Cookies["ASP.NET_SessionId"] != null)
                {
                    Response.Cookies["ASP.NET_SessionId"].Value   = string.Empty;
                    Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddMonths(-20);
                }
            }
        }