Example #1
0
        internal List <WorkerTask> CreateTasks(StatementOfWork newSow)
        {
            var newTasks = new List <WorkerTask>();

            foreach (var task in newSow)
            {
                var workerTask = new WorkerTask
                {
                    Id             = worker.GetNextTaskId(),
                    Description    = task.Description,
                    RequiredSkills = task.RequiredSkills,
                    DueDateTime    = task.DueDateTime,
                };

                workerTask.WorkItems = new List <WorkItem>();
                foreach (var wi in task.EstimatedWork)
                {
                    var workItem = this.worker.AddWorkItem(wi.Skill, wi.Minutes);
                    workerTask.WorkItems.Add(workItem);
                }
                if (this.worker.CurrentTasks.TryAdd(workerTask.Id, workerTask))
                {
                    newTasks.Add(workerTask);
                }
            }
            return(newTasks);
        }
Example #2
0
        internal StatementOfWork RenderAsStatementOfWork(WorkerTask workerTask)
        {
            var sow = new StatementOfWork();

            StatementOfWork.Task task = RenderAsStatementOfWorkTask(workerTask);
            sow.Add(task);
            return(sow);
        }
Example #3
0
        internal StatementOfWork GetTasks()
        {
            var sow = new StatementOfWork();

            foreach (var workerTask in this.worker.CurrentTasks.Values)
            {
                var sowTask = RenderAsStatementOfWorkTask(workerTask);
                sow.Add(sowTask);
            }
            return(sow);
        }
Example #4
0
        public IActionResult Get()
        {
            StatementOfWork sow = this.capacityService.GetCapacity();

            return(new JsonResult(new { statementOfWork = sow }, StatementOfWork.SerializerSettings));
        }