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); }
internal StatementOfWork RenderAsStatementOfWork(WorkerTask workerTask) { var sow = new StatementOfWork(); StatementOfWork.Task task = RenderAsStatementOfWorkTask(workerTask); sow.Add(task); return(sow); }
internal StatementOfWork GetTasks() { var sow = new StatementOfWork(); foreach (var workerTask in this.worker.CurrentTasks.Values) { var sowTask = RenderAsStatementOfWorkTask(workerTask); sow.Add(sowTask); } return(sow); }
public IActionResult Get() { StatementOfWork sow = this.capacityService.GetCapacity(); return(new JsonResult(new { statementOfWork = sow }, StatementOfWork.SerializerSettings)); }