Example #1
0
        private void AddLinkToProject(DraftProject project, IEnumerable <TaskCreationInformation> tasks)
        {
            // Load tasks
            IEnumerable <DraftTask> draftTasks = BaseProjectContext.LoadQuery(project.Tasks);

            BaseProjectContext.ExecuteQuery();

            // Disorder the tasks
            List <TaskCreationInformation> levelTasks = tasks.ToList();
            List <TaskCreationInformation> linkTasks  = new List <TaskCreationInformation>();

            while (levelTasks.Count > 0)
            {
                int taskIndex = RandomHelper.Random(0, levelTasks.Count - 1);
                linkTasks.Add(levelTasks[taskIndex]);
                levelTasks.RemoveAt(taskIndex);
            }

            // Add links
            for (int i = 0; i < linkTasks.Count - 1; i++)
            {
                TaskLinkCreationInformation linkInfo = NewFSTaskLink(linkTasks[i].Id, linkTasks[i + 1].Id);
                DraftTask task = draftTasks.Where(item => item.Id == linkInfo.StartId).FirstOrDefault();
                task.Successors.Add(linkInfo);
            }

            ExcuteJobWithRetries(() =>
            {
                QueueJob job = project.Update();
                WaitForJobComplete(job);
                BaseProjectContext.ExecuteQuery();
                LoggerHelper.Instance.Comment(string.Format("Finish Adding Links to Project: {0}", project.Name));
            }, "Add Links to project");
        }
        public IEnumerable <CustomField> GetEntities()
        {
            IEnumerable <CustomField> customFields = null;

            ExcuteJobWithRetries(() =>
            {
                customFields = BaseProjectContext.LoadQuery(BaseProjectContext.CustomFields);
                BaseProjectContext.ExecuteQuery();
            },
                                 "Query CustomField");
            return(customFields ?? new List <CustomField>());
        }
Example #3
0
        public IEnumerable <PublishedProject> GetEntities()
        {
            IEnumerable <PublishedProject> projects = null;

            ExcuteJobWithRetries(() =>
            {
                projects = BaseProjectContext.LoadQuery(BaseProjectContext.Projects);
                BaseProjectContext.ExecuteQuery();
            },
                                 "Query Project");
            return(projects ?? new List <PublishedProject>());
        }
        public IEnumerable <LookupTable> GetEntities()
        {
            IEnumerable <LookupTable> lookuptables = null;

            ExcuteJobWithRetries(() =>
            {
                lookuptables = BaseProjectContext.LoadQuery(BaseProjectContext.LookupTables);
                BaseProjectContext.ExecuteQuery();
            },
                                 "Query LookupTable");
            return(lookuptables ?? new List <LookupTable>());
        }
 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 IEnumerable <EnterpriseResource> GetEntities()
        {
            IEnumerable <EnterpriseResource> resources = null;

            ExcuteJobWithRetries(() =>
            {
                resources = BaseProjectContext.LoadQuery(BaseProjectContext.EnterpriseResources);
                BaseProjectContext.ExecuteQuery();
                resources = resources.Where(item => item.ResourceType != EnterpriseResourceType.NotSpecified);
            },
                                 "Query EnterpriseResource");
            return(resources ?? new List <EnterpriseResource>());
        }
        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);
        }
Example #8
0
        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);
        }