public Menu_Nodes(DataRow myDR) { // //TODO: 在此处添加构造函数逻辑 // if (myDR != null) { _pageindexid = myDR["PageIndexID"].ToString(); _page_categoryid = myDR["Page_CategoryID"].ToString(); _menu_title = myDR["Menu_Title"].ToString(); _page_name = myDR["Page_Name"].ToString(); _page_type = (Page_Type)StringEnum.Parse(typeof(Page_Type), myDR["Page_Type"].ToString(), true); _sortorder = myDR["SortOrder"].ToString(); _childrencount = Convert.ToInt32(myDR["ChildrenCount"]); switch (_page_type) { case Page_Type.Normal_Page: _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/pages.png"; break; case Page_Type.Category: _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/category.gif"; break; case Page_Type.Internal_Page_Pointer: _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/intlink.gif"; break; case Page_Type.External_Link: _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/extlink.gif"; break; default: _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/pages.png"; break; } PageEditorMgr myPageEditorMgr = new PageEditorMgr(); if (myPageEditorMgr.Chk_Page_Lock(_pageindexid)) { _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/page_lock.gif"; } else { string _homepageid = Phrases.PhraseMgr.Get_Phrase_Value("NexusCore_HomepageID"); if (_pageindexid == _homepageid) { _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/home.gif"; } if (_page_categoryid == "2") { _iconurl = "/App_Control_Style/NexusCore/Menu_TreeView/Icons/inactive_pages.gif"; } } } }
protected void btn_DesignMode_Click(object sender, CommandEventArgs e) { if (e.CommandArgument != null) { string _pageindexid = e.CommandArgument.ToString(); PageEditorMgr myPageEditorMgr = new PageEditorMgr(); if (myPageEditorMgr.Chk_Page_Lock(_pageindexid)) { // Page is Locked Pages.Page_Lock myPage_Lock = myPageEditorMgr.Get_Page_Lock(_pageindexid); if (myPage_Lock.UserID == Security.Users.UserStatus.Current_UserID(this.Page)) { // For same user will recover his previous work e2Data[] UpdateData = { new e2Data("Page_LockID", myPage_Lock.Page_LockID), new e2Data("LockDate", DateTime.Now.ToString()) }; myPageEditorMgr.Edit_Page_Lock(UpdateData); Response.Redirect(string.Format("PageDesign.aspx?PageIndexID={0}&PageLink=Disable", _pageindexid)); return; } // Page is released over 10min with no actions if (DateTime.Now.Subtract(myPage_Lock.LockDate).TotalMinutes > 10) { //Tools.AlertMessage.Show_Alert(this.Page, string.Format("<h4>The desgin mode is locked at {0} by other user.<br/> now is realease to you.</h4>", myPage_Lock.LockDate.ToString()), "Page is locked!"); // Delete Locks myPageEditorMgr.Release_PageLock(_pageindexid); Load_DesignMode(); return; } Tools.AlertMessage.Show_Alert(this.Page, "<h4>The desgin mode is locked <br/> please try again later.</h4>", "Page is locked!"); } else { Load_DesignMode(); } } }
private void DesignerMode(string _pageindexid) { PageEditorMgr myPageEditorMgr = new PageEditorMgr(); if (myPageEditorMgr.Chk_Page_Lock(_pageindexid)) { // Page is Locked Pages.Page_Lock myPage_Lock = myPageEditorMgr.Get_Page_Lock(_pageindexid); if (myPage_Lock.UserID == Security.Users.UserStatus.Current_UserID(this.Page)) { // It's same user, check if he open same page PageMgr MyPageMgr = new PageMgr(); NexusCore_Page myPage = MyPageMgr.Get_Page_ActiveID(_pageindexid); if (myPage_Lock.PageID == myPage.PageID) { // For same user will recover his previous work e2Data[] UpdateData = { new e2Data("Page_LockID", myPage_Lock.Page_LockID), new e2Data("LockDate", DateTime.Now.ToString()) }; myPageEditorMgr.Edit_Page_Lock(UpdateData); Response.Redirect(string.Format("/App_AdminCP/SiteAdmin/PageDesign.aspx?PageIndexID={0}&PageLink=Disable", _pageindexid)); return; } else { // For same user but create new session page // Delete Locks myPageEditorMgr.Release_PageLock(_pageindexid); Load_DesignMode(_pageindexid); return; } } // Page is released over 10min with no actions if (DateTime.Now.Subtract(myPage_Lock.LockDate).TotalMinutes > 10) { //Tools.AlertMessage.Show_Alert(this.Page, string.Format("<h4>The desgin mode is locked at {0} by other user.<br/> now is realease to you.</h4>", myPage_Lock.LockDate.ToString()), "Page is locked!"); // Delete Locks myPageEditorMgr.Release_PageLock(_pageindexid); Load_DesignMode(_pageindexid); return; } //Tools.AlertMessage.Show_Alert(this.Page, "<h4>The desgin mode is locked <br/> please try again later.</h4>", "Page is locked!"); LockPage_Failed("Page is locked by other user, please try again later."); } else { Load_DesignMode(_pageindexid); } }