예제 #1
0
    public void CheckAccess()
    {
        string          preFix       = string.Empty;
        string          paneName     = string.Empty;
        string          ControlSrc   = string.Empty;
        string          phdContainer = string.Empty;
        string          PageSEOName  = string.Empty;
        string          redirecPath  = string.Empty;
        SageFrameConfig sfConfig     = new SageFrameConfig();

        IsUseFriendlyUrls = sfConfig.GetSettingBollByKey(SageFrameSettingKeys.UseFriendlyUrls);
        StoreAccessDetailsInfo storeAccessTracker = new StoreAccessDetailsInfo();

        storeAccessTracker.PortalID = GetPortalID.ToString();
        storeAccessTracker.StoreID  = GetStoreID.ToString();
        storeAccessTracker.Username = GetUsername;
        if (Membership.GetUser() != null)
        {
            MembershipUser userDetail = Membership.GetUser(GetUsername);
            storeAccessTracker.UserEmail = userDetail.Email;
        }
        else
        {
            storeAccessTracker.UserEmail = "";
        }
        StoreAccessResultInfo saResults = (StoreAccessResultInfo)GetStoreAccessByCurrentData(storeAccessTracker);
        bool storeClosed     = (bool)saResults.StoreClosed;
        bool storeAccessible = (bool)saResults.IsAccess;

        if (storeAccessible)
        {
            DataSet dsPageSettings = new DataSet();

            dsPageSettings = sfConfig.GetPageSettingsByPageSEOName("1", "Home", GetUsername);
            if (bool.Parse(dsPageSettings.Tables[0].Rows[0][0].ToString()) == true)
            {
                //if (bool.Parse(dsPageSettings.Tables[0].Rows[0][2].ToString()) != true)
                //{
                if (bool.Parse(dsPageSettings.Tables[0].Rows[0][1].ToString()) == true)
                {
                    //from session previous url will retrive and redirect to id
                    string returnURL = HttpContext.Current.Session["StoreClosed"].ToString();
                    HttpContext.Current.Session.Remove("StoreClosed");
                    Response.Redirect(returnURL);
                }
                else
                {
                }
            }
            else
            {
                //portal no found
            }
        }
        else
        {
        }
    }
예제 #2
0
        private void BindModuleControls()
        {
            string          preFix       = string.Empty;
            string          paneName     = string.Empty;
            string          ControlSrc   = string.Empty;
            string          phdContainer = string.Empty;
            string          PageSEOName  = string.Empty;
            SageUserControl suc          = new SageUserControl();

            if (PagePath != null)
            {
                suc.PagePath = PagePath;
            }
            else
            {
                SageFrameConfig sfConfig = new SageFrameConfig();
                suc.PagePath = sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx";
            }
            if (Request.QueryString["pgnm"] != null)
            {
                PageSEOName = Request.QueryString["pgnm"].ToString();
            }
            else
            {
                PageSEOName = GetPageSEOName(PagePath);
            }

            //:TODO: Need to get controlType and pageID from the selected page from routing path
            //string controlType = "0";
            //string pageID = "2";
            string redirecPath = string.Empty;

            if (PageSEOName != string.Empty)
            {
                SageFrameConfig sfConfig = new SageFrameConfig();
                string          SEOName  = sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage);
                if (SEOName.ToLower() == PageSEOName.ToLower())
                {
                    divTopWrapper.Attributes.Add("class", " cssClassTopWrapper cssClassIndexPage");
                }
                //TODO:: check store access control here Based on @IPAddress, @Domain, @CustomerName, @email, @StoreID, @PortalID
                StoreAccessDetailsInfo storeAccessTracker = new StoreAccessDetailsInfo();
                storeAccessTracker.PortalID = GetPortalID.ToString();
                storeAccessTracker.StoreID  = GetStoreID.ToString();
                storeAccessTracker.Username = GetUsername;
                if (Membership.GetUser() != null)
                {
                    MembershipUser userDetail = Membership.GetUser(GetUsername);
                    storeAccessTracker.UserEmail = userDetail.Email;
                }
                else
                {
                    storeAccessTracker.UserEmail = "";
                }
                StoreAccessResultInfo saResults = (StoreAccessResultInfo)GetStoreAccessByCurrentData(storeAccessTracker);
                bool storeClosed     = (bool)saResults.StoreClosed;
                bool storeAccessible = (bool)saResults.IsAccess;
                if (!storeClosed)
                {
                    if (storeAccessible)
                    {
                        DataSet dsPageSettings = new DataSet();
                        dsPageSettings = sfConfig.GetPageSettingsByPageSEOName("1", PageSEOName, GetUsername);
                        if (bool.Parse(dsPageSettings.Tables[0].Rows[0][0].ToString()) == true)
                        {
                            //if (bool.Parse(dsPageSettings.Tables[0].Rows[0][2].ToString()) != true)
                            //{
                            if (bool.Parse(dsPageSettings.Tables[0].Rows[0][1].ToString()) == true)
                            {
                                // Get ModuleControls data table
                                DataTable dtPages = dsPageSettings.Tables[1];
                                if (dtPages != null && dtPages.Rows.Count > 0)
                                {
                                    OverridePageInfo(dtPages);
                                }

                                // Get ModuleDefinitions data table
                                DataTable dtPageModule = dsPageSettings.Tables[2];
                                if (dtPageModule != null && dtPageModule.Rows.Count > 0)
                                {
                                    for (int i = 0; i < dtPageModule.Rows.Count; i++)
                                    {
                                        paneName = dtPageModule.Rows[i]["PaneName"].ToString();
                                        if (string.IsNullOrEmpty(paneName))
                                        {
                                            paneName = "ContentPane";
                                        }
                                        string UserModuleID = dtPageModule.Rows[i]["UserModuleID"].ToString();
                                        ControlSrc = "/" + dtPageModule.Rows[i]["ControlSrc"].ToString();
                                        var         SupportsPartialRendering = dtPageModule.Rows[i]["SupportsPartialRendering"].ToString();
                                        PlaceHolder phdPlaceHolder           = (PlaceHolder)this.FindControl(paneName);
                                        if (phdPlaceHolder != null)
                                        {
                                            phdPlaceHolder = LoadControl(i.ToString(), bool.Parse(SupportsPartialRendering), phdPlaceHolder, ControlSrc, paneName, UserModuleID);
                                        }
                                        //AddModuleCssToPage(ControlSrc, false);
                                    }
                                }
                            }
                            else
                            {
                                if (IsUseFriendlyUrls)
                                {
                                    if (GetPortalID > 1)
                                    {
                                        redirecPath = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotAccessible) + ".aspx");
                                    }
                                    else
                                    {
                                        redirecPath = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotAccessible) + ".aspx");
                                    }
                                }
                                else
                                {
                                    redirecPath = ResolveUrl("~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotAccessible));
                                }
                                Response.Redirect(redirecPath);
                            }
                            //}
                            //else
                            //{
                            //    if (IsUseFriendlyUrls)
                            //    {
                            //        if (GetPortalID > 1)
                            //        {
                            //            redirecPath = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + PageSEOName + ".aspx");
                            //        }
                            //        else
                            //        {
                            //            redirecPath = ResolveUrl("~/" + PageSEOName + ".aspx");
                            //        }
                            //    }
                            //    else
                            //    {
                            //        redirecPath = ResolveUrl("~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + PageSEOName);
                            //    }
                            //    CommonHelper.EnsureSSL(true, redirecPath);
                            //}
                        }
                        else
                        {
                            if (IsUseFriendlyUrls)
                            {
                                if (GetPortalID > 1)
                                {
                                    redirecPath = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotFound) + ".aspx");
                                }
                                else
                                {
                                    redirecPath = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotFound) + ".aspx");
                                }
                            }
                            else
                            {
                                redirecPath = ResolveUrl("~/Default.aspx?ptlid=" + GetPortalID + "&ptSEO=" + GetPortalSEOName + "&pgnm=" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalPageNotFound));
                            }
                            Response.Redirect(redirecPath);
                        }
                    }
                    else
                    {
                        //Store NOT Accessed Page
                        string blockedPortalUrl = string.Empty;
                        if (GetPortalID > 1)
                        {
                            if (IsUseFriendlyUrls)
                            {
                                blockedPortalUrl = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                            }
                            else
                            {
                                blockedPortalUrl = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage));
                            }
                        }
                        else
                        {
                            if (IsUseFriendlyUrls)
                            {
                                blockedPortalUrl = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                            }
                            else
                            {
                                blockedPortalUrl = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage));
                            }
                        }
                        Session["StoreBlocked"] = blockedPortalUrl;
                        HttpContext.Current.Response.Redirect(ResolveUrl("~/Modules/AspxCommerce/Store-Not-Accessed.aspx"));
                    }
                }
                else
                {
                    //Store Closed Page
                    string closePortalUrl = string.Empty;
                    if (GetPortalID > 1)
                    {
                        if (IsUseFriendlyUrls)
                        {
                            closePortalUrl = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                        }
                        else
                        {
                            closePortalUrl = ResolveUrl("~/portal/" + GetPortalSEOName + "/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage));
                        }
                    }
                    else
                    {
                        if (IsUseFriendlyUrls)
                        {
                            closePortalUrl = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage) + ".aspx");
                        }
                        else
                        {
                            closePortalUrl = ResolveUrl("~/" + sfConfig.GetSettingsByKey(SageFrameSettingKeys.PortalDefaultPage));
                        }
                    }
                    Session["StoreClosed"] = closePortalUrl;
                    HttpContext.Current.Response.Redirect(ResolveUrl("~/Modules/AspxCommerce/Store-Closed.aspx"));
                }
            }

            HttpContext.Current.Session["ModuleCss"] = null;
            HttpContext.Current.Session["ModuleJs"]  = null;
        }