public IActionResult Add(TaskNodeAddModel taskNodeAddData) { var taskData = new DataTransfer.Events.TaskData { CurrentStatus = taskNodeAddData.TaskData.CurrentStatus, Description = taskNodeAddData.TaskData.Description, Name = taskNodeAddData.TaskData.Name, Id = Guid.NewGuid(), TaskGraphId = taskNodeAddData.TaskGraphId }; string topicEndpoint = "https://accelerant-task-topic.francecentral-1.eventgrid.azure.net/api/events"; string topicKey = "xBCWj/db0/+GiJnkgAsdLClZxCtPZStDbwKFJxQ40R0="; string topicHostname = new Uri(topicEndpoint).Host; TopicCredentials topicCredentials = new TopicCredentials(topicKey); EventGridClient client = new EventGridClient(topicCredentials); var eventsList = new List <EventGridEvent>(); eventsList.Add(new EventGridEvent() { Id = Guid.NewGuid().ToString(), EventType = "Accelerant.TaskNodes.AddItem", Data = taskData, EventTime = DateTime.Now, Subject = "accelerant-task-topic", DataVersion = "2.0" }); client.PublishEventsAsync(topicHostname, eventsList).GetAwaiter().GetResult(); return(Ok(taskData)); }
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); }
public IActionResult Add(TaskNodeAddModel taskNodeAddData) { var taskData = new DataTransfer.Events.TaskData { CurrentStatus = taskNodeAddData.TaskData.CurrentStatus, Description = taskNodeAddData.TaskData.Description, Name = taskNodeAddData.TaskData.Name, Id = Guid.NewGuid(), TaskGraphId = taskNodeAddData.TaskGraphId, EstimatedCompletionTime = taskNodeAddData.TaskData.EstimatedCompletionTime }; var added = ServiceFactory.TaskGraphService.AddTask(taskData, taskNodeAddData.TaskGraphId); hub.Clients.Group(taskNodeAddData.TaskGraphId.ToString()).SendAsync("add_task_node", added); return(Ok(added)); }