public void Start() { if (TasksFactory == null) { throw new InvalidOperationException("TasksFactory has not initialized."); } List <T> taskItems = TasksFactory.GetTasks(); cancelTokenSource = new CancellationTokenSource(); int totalTaskItemsCount = taskItems.Count; if (Starting != null) { Starting(); } Task.Factory.StartNew(() => { for (int i = 1; !cancelTokenSource.IsCancellationRequested && i <= totalTaskItemsCount; i++) { T taskItem = taskItems[i - 1]; DoTaskItem(taskItem); TaskItemExecuted(taskItem); float progress = i / (totalTaskItemsCount + 0.0f); NotifyProgress(progress, i, taskItem); } Complete(); }, cancelTokenSource.Token); }
public TasksController( IDocumentRepository <BaseTask> repository, ITaskManager <BaseTask> manager, TasksFactory <BaseTask> tasksFactory) { this.repository = repository; this.manager = manager; this.tasksFactory = tasksFactory; }
public ProjectViewModel(string key, Jira jira) { var currentProject = jira.GetProjects().First(); //for initialization var projects = jira.GetProjects(); for (int i = 0; i < projects.Count(); ++i) { var tempProject = projects.ElementAt(i); if (tempProject.Key == key) { currentProject = tempProject; break; } } var issues = from i in jira.Issues where i.Project == currentProject.Key select i; int count = 0; for (int i = 0; i < issues.Count(); ++i) { var newIssue = issues.ElementAt(i); count++; } // initialize the properties from the model just... like... this! Title = currentProject.Name; // tasks AllTasks = new List <TaskEntryViewModel>(); CompletedTasks = new List <TaskEntryViewModel>(); OneWeekTasks = new List <TaskEntryViewModel>(); DistantTasks = new List <TaskEntryViewModel>(); TasksFactory tasks = new TasksFactory(key); string taskName; DateTime dueDate; for (int i = 0; i < tasks.List.Count; i++) { for (int j = 0; j < tasks.List[i].Tasks.Count; j++) { taskName = tasks.List[i].Tasks[j].Name; dueDate = tasks.List[i].Tasks[j].DueDate; AllTasks.Add(new TaskEntryViewModel(taskName, dueDate)); } } CompletedTasks = AllTasks.Where(task => DateTime.Compare(task.CompletionDate, DateTime.Now) < 0 ).OrderBy(task => task.CompletionDate).ToList(); OneWeekTasks = AllTasks.Where(task => DateTime.Compare(task.CompletionDate, DateTime.Now.AddDays(7)) < 0 && DateTime.Compare(task.CompletionDate, DateTime.Now) > 0 ).OrderBy(task => task.CompletionDate).ToList(); DistantTasks = AllTasks.Where(task => DateTime.Compare(task.CompletionDate, DateTime.Now.AddDays(7)) > 0 ).OrderBy(task => task.CompletionDate).ToList(); TaskBurndownChart = new List <double>(); TaskRecentChart = new List <int>(); BugBurndownChart = new List <double>(); BugRecentChart = new List <int>(); } // more obvious: End of Constructor