/// <summary>The AddModuleToPane_Click server event handler on this page is used /// to add a new portal module into the tab /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void AddModuleToPane_Click(Object sender, EventArgs e) { // All new modules go to the end of the contentpane ModuleItem m = new ModuleItem(); m.ModuleTitle = moduleTitle.Text; m.ModuleDefId = Int32.Parse(moduleType.SelectedItem.Value); m.ModuleOrder = 999; // save to database Configuration config = new Configuration(); m.ModuleId = config.AddModule(tabId, m.ModuleOrder, "ContentPane", m.ModuleTitle, m.ModuleDefId, 0, "Admins", false); // Obtain portalId from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; // reload the portalSettings from the database HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId); // reorder the modules in the content pane ArrayList modules = GetModules("ContentPane"); OrderModules(modules); // resave the order foreach (ModuleItem item in modules) { config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, "ContentPane"); } // Redirect to the same page to pick up changes Response.Redirect(Request.RawUrl); }
/// <summary>The GetModules helper method is used to get the modules /// for a single pane within the tab /// </summary> private ArrayList GetModules(String pane) { // Obtain PortalSettings from Current Context PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"]; ArrayList paneModules = new ArrayList(); foreach (Nairc.KPWPortal.ModuleSettings module in portalSettings.ActiveTab.Modules) { if ((module.PaneName).ToLower() == pane.ToLower()) { ModuleItem m = new ModuleItem(); m.ModuleTitle = module.ModuleTitle; m.ModuleId = module.ModuleId; m.ModuleDefId = module.ModuleDefId; m.ModuleOrder = module.ModuleOrder; paneModules.Add(m); } } return paneModules; }