protected void OnDelete(object sender, EventArgs args) { if (Parent is Tab) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = pd.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); pd.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } else if (Parent is Template) { TemplateDefinition td = TemplateDefinition.Load(); TemplateDefinition.Template t = td.GetTemplate(CurrentTabReference); PortalDefinition.Column _objColumnBeingDeleted = td.GetColumn(CurrentColumnReference); if (_objColumnBeingDeleted != null) { t.DeleteColumn(CurrentColumnReference); td.Save(); if (Delete != null) { Delete(CurrentColumnReference, _objColumnBeingDeleted.ColumnParent == null ? Guid.NewGuid().ToString() : _objColumnBeingDeleted.ColumnReference); } } } // Hopefully we where redirected here! }
protected void btnSaveLayout_Click(object sender, EventArgs e) { string tab = (string)ViewState["TabReference"]; string html = "<tables>" + HiddenField1.Value + "</tables>"; // hotfix html = html.Replace("<br style=\"clear: both;\">", string.Empty); html = html.Replace("<BR style=\"CLEAR: both\">", string.Empty); XmlDocument layout = convertHTMLtoXML(html); if (layout != null) { PortalDefinition pd = PortalDefinition.Load(); PortalDefinition.Tab t = pd.GetTab(tab); // remove all old column while (t.Columns.Count > 0) { t.DeleteColumn(((PortalDefinition.Column)t.Columns[0]).ColumnReference); } // add new column XmlNodeList htmlTables = layout.SelectNodes("tables/table"); if (htmlTables.Count == 0) { htmlTables = layout.SelectNodes("tables/TABLE"); // fix ie: UPPERCASE all tag } PortalDefinition.Column newColumn; int countTable = 0; foreach (XmlNode htmlTable in htmlTables) { newColumn = PortalDefinition.Column.Create(t); saveTable(ref newColumn, htmlTable, countTable++); t.Columns.Add(newColumn); } pd.Save(); RenderTables(t.Columns, workarea); } }