public void CreateMilestoneAndBacklogForProject(ProjectPart project) { var contentManager = this.services.ContentManager; // create project milestones this.CreateProjectionForProjectAttachableItems(project, ContentTypes.ProjectProjectionContentType, QueryNames.ProjectMilestonesQueryName, "Milestones", ContentTypes.MilestoneContentType); var backLogItem = contentManager .HqlQuery() .ForType(ContentTypes.MilestoneContentType) .Where(c => c.ContentPartRecord <AttachToProjectPartRecord>(), d => d.Eq("Project.Id", project.Id)) .List() .FirstOrDefault(c => c.As <MilestonePart>().IsBacklog); if (backLogItem == null) { // create project back-log var backLogContentItem = this.CreateAttachableItemToProject(project, ContentTypes.MilestoneContentType); MilestonePart milestone = backLogContentItem.As <MilestonePart>(); milestone.IsBacklog = true; TitlePart milestoneTitlePart = backLogContentItem.As <TitlePart>(); milestoneTitlePart.Title = T("Backlog").Text; contentManager.Publish(backLogContentItem); } }
public void CreateMilestoneAndBacklogForProject(ProjectPart project) { var contentManager = this.services.ContentManager; // create project milestones this.CreateProjectionForProjectAttachableItems(project, ContentTypes.ProjectProjectionContentType, QueryNames.ProjectMilestonesQueryName, "Milestones", ContentTypes.MilestoneContentType); // create project back-log var backLogContentItem = this.CreateAttachableItemToProject(project, ContentTypes.MilestoneContentType); MilestonePart milestone = backLogContentItem.As <MilestonePart>(); milestone.IsBacklog = true; TitlePart milestoneTitlePart = backLogContentItem.As <TitlePart>(); milestoneTitlePart.Title = T("Backlog").Text; contentManager.Publish(backLogContentItem); }