Esempio n. 1
0
        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;
 }
Esempio n. 3
0
        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