Example #1
0
        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);
            }
        }