public KPSecuritySession(string sessionID, string login, int frwCompany, int idUser,
                         PagePermission[] pagePermissions, ComponentPermission[] componentPermissions)
 {
     FrwCompany = frwCompany;
     IdUser = idUser;
     SessionID = sessionID;
     Login = login;
     PagePermissions = pagePermissions;
     ComponentPermissions = componentPermissions;
 }
        public PagePermission GetPagePermission(Enum pageEnum)
        {

            if (pageEnum == null)
                return null;

            PagePermission permission = null;
            if (PagePermissions != null)
            {
                permission = PagePermissions.FirstOrDefault(x => x.PageEnum.Equals(pageEnum.ToString(), StringComparison.InvariantCultureIgnoreCase));

                if (permission != null)
                    return permission;
            }

            permission = new PagePermission(0, pageEnum.ToString(), null)
            {
                IsPreview = true,
                IsReadOnly = false
            };

            return permission;
        }
 protected override void CreateChildOthersControls(KPPageBase pageBase, PagePermission pagePermission, UpdatePanel upnFormAjax)
 {
     
 }
        protected override void CreateChildOthersControls(KPPageBase pageBase, PagePermission pagePermission, UpdatePanel upnFormAjax)
        {
            if (EnableNewDetail && !pagePermission.IsReadOnly)
            {
                ComponentPermission componentPermission = pageBase.SecuritySession.GetComponentPermission(pageBase.PageEnum, "ACTION_MASTER_GRID_ADD");
                if (componentPermission.IsVisible)
                {
                    Button btnNewDetail = new Button() { ID = ID_BtnNewDetail, Text = KPGlobalizationLanguage.GetString("KPComponents_New"), CssClass = "KPGridNewDetailButton" };
                    btnNewDetail.Enabled = componentPermission.IsEnabled;
                    btnNewDetail.Attributes.Add("onclick", "setLoading(true);");

                    if (MasterDetailConfig != null)
                    {
                        if (!String.IsNullOrWhiteSpace(MasterDetailConfig.HelpToolTipNew))
                            btnNewDetail.Attributes.Add("title", KPGlobalizationLanguage.GetString(MasterDetailConfig.HelpToolTipNew));
                    }

                    btnNewDetail.Click += new EventHandler(btnNewDetail_Click);
                    upnFormAjax.ContentTemplateContainer.Controls.Add(btnNewDetail);
                }
            }

            if (EnableEditDetail && !pagePermission.IsReadOnly)
            {
                ComponentPermission componentPermission = pageBase.SecuritySession.GetComponentPermission(pageBase.PageEnum, "ACTION_MASTER_GRID_EDIT");
                if (componentPermission.IsVisible)
                {
                    Button btnEditDetail = new Button() { ID = ID_BtnEditDetail, Text = KPGlobalizationLanguage.GetString("KPComponents_Edit"), CssClass = "KPGridEditDetailButton" };
                    btnEditDetail.Enabled = componentPermission.IsEnabled;
                    btnEditDetail.Attributes.Add("onclick", "return validateGridSelection(event, '" + ID_Table + "', true, true);");
                    if (MasterDetailConfig != null)
                    {
                        if (!String.IsNullOrWhiteSpace(MasterDetailConfig.HelpToolTipEdit))
                            btnEditDetail.Attributes.Add("title", KPGlobalizationLanguage.GetString(MasterDetailConfig.HelpToolTipEdit));
                    }
                    btnEditDetail.Click += new EventHandler(btnEditDetail_Click);
                    upnFormAjax.ContentTemplateContainer.Controls.Add(btnEditDetail);
                }
            }
            if (EnableDeleteDetail && !pagePermission.IsReadOnly)
            {
                ComponentPermission componentPermission = pageBase.SecuritySession.GetComponentPermission(pageBase.PageEnum, "ACTION_MASTER_GRID_DELETE");
                if (componentPermission.IsVisible)
                {
                    Button btnDeleteDetail = new Button() { ID = ID_BtnDeleteDetail, Text = KPGlobalizationLanguage.GetString("KPComponents_Delete"), CssClass = "KPGridDeleteDetailButton" };
                    btnDeleteDetail.Enabled = componentPermission.IsEnabled;
                    string question = KPGlobalizationLanguage.GetString("KPComponents_QuestionDeleteReg");
                    btnDeleteDetail.Attributes.Add("onclick", String.Format("return (validateGridSelection(event, '{0}', true, false) ? confirmBox('{1}', 1, true, true) : false);", ID_Table, question));
                    if (MasterDetailConfig != null)
                    {
                        if (!String.IsNullOrWhiteSpace(MasterDetailConfig.HelpToolTipDelete))
                            btnDeleteDetail.Attributes.Add("title", KPGlobalizationLanguage.GetString(MasterDetailConfig.HelpToolTipDelete));
                    }
                    btnDeleteDetail.Click += new EventHandler(btnDeleteDetail_Click);
                    upnFormAjax.ContentTemplateContainer.Controls.Add(btnDeleteDetail);
                }
            }
        }
 public KPExceptionSecurity(string message, PagePermission pagePermission)
     : this(message)
 {
     PagePermission = pagePermission;
 }