public bool Delete(CustomFieldModel model) { return(ExcuteJobWithRetries(() => { IEnumerable <CustomField> customFields = BaseProjectContext.LoadQuery(BaseProjectContext.CustomFields.Where(item => item.Name == model.Name)); BaseProjectContext.ExecuteQuery(); CustomField customField = customFields.FirstOrDefault(); BaseProjectContext.Load(customField); customField.DeleteObject(); BaseProjectContext.ExecuteQuery(); }, "Delete CustomField")); }
public bool Delete(ResourcePoolModel model) { IEnumerable <EnterpriseResource> resources = BaseProjectContext.LoadQuery(BaseProjectContext.EnterpriseResources.Where(item => item.Name.StartsWith(model.NamePrefix))); BaseProjectContext.ExecuteQuery(); foreach (EnterpriseResource resource in resources) { BaseProjectContext.Load(resource); resource.DeleteObject(); BaseProjectContext.ExecuteQuery(); } return(true); }
private DraftProject CheckOutProject(PublishedProject project) { DraftProject draftProject = null; ExcuteJobWithRetries(() => { LoggerHelper.Instance.Comment("About to Checkout Project with Name: " + project.Name); draftProject = project.CheckOut(); BaseProjectContext.Load(draftProject); BaseProjectContext.ExecuteQuery(); LoggerHelper.Instance.Comment("Finish Checkout Project with Name: " + project.Name); }, "Checkout Project"); return(draftProject); }
public bool Delete(ProjectModel model) { IEnumerable <PublishedProject> projects = BaseProjectContext.LoadQuery(BaseProjectContext.Projects.Where(item => item.Name.StartsWith(model.NamePrefix))); BaseProjectContext.ExecuteQuery(); foreach (PublishedProject project in projects) { BaseProjectContext.Load(project); BaseProjectContext.ExecuteQuery(); if (project.IsCheckedOut) { QueueJob job = project.Draft.CheckIn(true); BaseProjectContext.ExecuteQuery(); WaitForJobComplete(job); } project.DeleteObject(); BaseProjectContext.ExecuteQuery(); } return(true); }
private PublishedProject CreateEmptyProject(string projectName) { PublishedProject project = null; ProjectCreationInformation creationInfo = new ProjectCreationInformation() { Name = projectName, Start = DateTime.Now }; ExcuteJobWithRetries(() => { LoggerHelper.Instance.Comment("About to Create Project with Name: " + creationInfo.Name); project = BaseProjectContext.Projects.Add(creationInfo); QueueJob job = BaseProjectContext.Projects.Update(); this.WaitForJobComplete(job); BaseProjectContext.Load(project); BaseProjectContext.ExecuteQuery(); LoggerHelper.Instance.Comment("Finish Creating empty Project with Name: " + creationInfo.Name); }, "Create Project"); return(project); }