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); }