public DataTransfer.Models.TaskNode AddTask(DataTransfer.Events.TaskData item, Guid taskGraphId) { var taskGraph = Get(taskGraphId); var task = new DataTransfer.Models.TaskNode { Data = new TaskData { Id = item.Id, CurrentStatus = item.CurrentStatus, Description = item.Description, Name = item.Name }, AssignedUser = null, EstimatedCompletionTimespan = 0, OutNeighbors = new List <Guid>() }; if (taskGraph.RootId is null && !taskGraph.TaskSetId.HasValue) { taskGraph.RootId = task.Data.Id; taskGraph.TaskSetId = Guid.NewGuid(); DataCollectorFactory.taskGraphCollector.Update(taskGraph); var taskSet = new TaskSet { Id = taskGraph.TaskSetId.Value, Tasks = new List <TaskNode>() }; taskSet.Tasks.Add(task); DataCollectorFactory.taskSetCollector.Add(taskSet); }
public DataTransfer.Models.TaskNode AddTask(DataTransfer.Events.TaskData item, Guid taskGraphId) { var taskGraph = Get(taskGraphId); var task = new DataTransfer.Models.TaskNode { Data = new TaskData { Id = item.Id, CurrentStatus = (DataLayer.Models.TaskData.Status)((int)item.CurrentStatus), Description = item.Description, Name = item.Name }, AssignedUser = null, EstimatedCompletionTimespan = item.EstimatedCompletionTime, OutNeighbors = new List <Guid>(), InNeighbors = new List <Guid>(), ParentId = null, TaskGraphId = taskGraphId, WorkspaceId = null, IsRoot = false }; if (!taskGraph.TaskSetId.HasValue) { taskGraph.TaskSetId = Guid.NewGuid(); var mappedTaskGraph = Mappers[Tuple.Create(Layer.Data, Layer.DataTransfer)].Map <TaskGraph, DataLayer.Models.TaskGraph>(taskGraph); DataCollectorFactory.taskGraphCollector.Update(mappedTaskGraph); var taskSet = new TaskSet { Id = taskGraph.TaskSetId.Value, Tasks = new List <TaskNode>() }; taskSet.Tasks.Add(task); var mappedTaskSet = ConvertTaskSet(taskSet); DataCollectorFactory.taskSetCollector.Add(mappedTaskSet); } if (taskGraph.RootId is null || taskGraph.RootId.Equals(Guid.Empty)) { var taskSet = ServiceFactory.TaskSetService.Get(taskGraph.TaskSetId.Value); taskGraph.RootId = task.Data.Id; var mappedTaskGraph = Mappers[Tuple.Create(Layer.Data, Layer.DataTransfer)].Map <TaskGraph, DataLayer.Models.TaskGraph>(taskGraph); DataCollectorFactory.taskGraphCollector.Update(mappedTaskGraph); task.IsRoot = true; task.Data.CurrentStatus = DLStatus.Assignable; taskSet.Tasks.Add(task); var mappedTaskSet = ConvertTaskSet(taskSet); DataCollectorFactory.taskSetCollector.Update(mappedTaskSet); }