public static void DeleteTab(string reference) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(reference); if (t.parent == null) // Root Tab { for (int i = 0; i < pd.tabs.Count; i++) { if (((PortalDefinition.Tab)pd.tabs[i]).reference == reference) { pd.tabs.RemoveAt(i); break; } } } else { PortalDefinition.Tab pt = t.parent; for (int i = 0; i < pt.tabs.Count; i++) { if (((PortalDefinition.Tab)pt.tabs[i]).reference == reference) { pt.tabs.RemoveAt(i); break; } } } pd.Save(); }
protected void OnAddTab(object sender, EventArgs args) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = PortalDefinition.Tab.Create(); pd.GetTab(Request["TabRef"]).tabs.Add(t); pd.Save(); Response.Redirect(Helper.GetEditTabLink(t.reference)); }
protected void OnAddRightModule(object sender, EventArgs args) { PortalDefinition pd = PortalDefinition.Load(); // Do NOT use GetCurrentTab! You will be unable to save PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]); PortalDefinition.Module m = PortalDefinition.Module.Create(); t.right.Add(m); pd.Save(); Response.Redirect(Helper.GetEditModuleLink(m.reference)); }
protected void OnAddMiddleModule(object sender, EventArgs args) { PortalDefinition pd = PortalDefinition.Load(); // Do NOT use GetCurrentTab! You will be unable to save PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]); PortalDefinition.Module m = new PortalDefinition.Module(); m.reference = Guid.NewGuid().ToString(); t.middle.Add(m); pd.Save(); Response.Redirect(Helper.GetEditModuleLink(m.reference)); }
protected void OnMoveRight(object sender, System.EventArgs args) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]); for (int i = 0; i < 2; i++) { ArrayList a = null; switch (i) { case 0: a = t.left; break; case 1: a = t.middle; break; } for (int idx = 0; idx < a.Count; idx++) { if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference) { PortalDefinition.Module m = (PortalDefinition.Module)a[idx]; a.RemoveAt(idx); if (i == 0) { t.middle.Insert(t.middle.Count, m); } else if (i == 1) { t.right.Insert(t.right.Count, m); } else { throw new InvalidOperationException("Invalid Column"); } pd.Save(); Server.Transfer(Request.Url.PathAndQuery); return; } } } }
protected void OnMoveDown(object sender, System.EventArgs args) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(Request["TabRef"]); for (int i = 0; i < 3; i++) { ArrayList a = null; switch (i) { case 0: a = t.left; break; case 1: a = t.middle; break; case 2: a = t.right; break; } for (int idx = 0; idx < a.Count; idx++) { if (((PortalDefinition.Module)a[idx]).reference == ModuleDef.reference) { if (idx >= a.Count - 1) { return; } PortalDefinition.Module m = (PortalDefinition.Module)a[idx]; a.RemoveAt(idx); a.Insert(idx + 1, m); pd.Save(); Server.Transfer(Request.Url.PathAndQuery); return; } } } }