示例#1
0
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            // Create a 3 column all equal size page
            var insertedPage = DatabaseHelper.Insert <Page>(DatabaseHelper.SubsystemEnum.Page, (newPage) =>
            {
                ObjectBuilder.BuildDefaultPage(newPage,
                                               this.UserId, this.Title, Convert.ToInt32(this.LayoutType), 0);
            });

            var page = DatabaseHelper.GetSingle <Page, int>(DatabaseHelper.SubsystemEnum.Page,
                                                            insertedPage.ID, LinqQueries.CompiledQuery_GetPageById);

            for (int i = 0; i < insertedPage.ColumnCount; i++)
            {
                var insertedWidgetZone = DatabaseHelper.Insert <WidgetZone>(DatabaseHelper.SubsystemEnum.WidgetInstance,
                                                                            (newWidgetZone) =>
                {
                    string title = "Column " + (i + 1);
                    ObjectBuilder.BuildDefaultWidgetZone(newWidgetZone, title, title, 0);
                });
                var insertedColumn = DatabaseHelper.Insert <Column>(DatabaseHelper.SubsystemEnum.Page,
                                                                    (newColumn) =>
                {
                    newColumn.ColumnNo     = i;
                    newColumn.ColumnWidth  = (100 / insertedPage.ColumnCount);
                    newColumn.WidgetZoneId = insertedWidgetZone.ID;
                    newColumn.PageId       = insertedPage.ID;
                });
            }

            NewPageId = page.ID;

            this.NewPage = page;

            return(ActivityExecutionStatus.Closed);
        }