Esempio n. 1
0
        public DataTransfer.Models.TaskGraph Add(DataTransfer.Events.TaskGraph item)
        {
            var mappedItem = new DataTransfer.Models.TaskGraph
            {
                Id          = item.Id,
                Description = item.Description,
                Name        = item.Name,
                RootId      = null,
                UserId      = item.UserId,
                TaskSetId   = null
            };

            var added = dataCollector.Add(mappedItem);

            var ws = ServiceFactory.WorkspaceService.Get(item.WorkspaceId);

            if (ws.TaskGraphIds == null)
            {
                ws.TaskGraphIds = new List <Guid>();
            }
            ws.TaskGraphIds.Add(added.Id);

            DataCollectorFactory.workspaceCollector.Update(ws);

            return(added);
        }
Esempio n. 2
0
        public DataTransfer.Models.TaskGraph Update(DataTransfer.Events.TaskGraph item)
        {
            var mappedItem = new DataTransfer.Models.TaskGraph
            {
                Id          = item.Id,
                Description = item.Description,
                Name        = item.Name,
                RootId      = item.RootId
            };

            return(dataCollector.Update(mappedItem));
        }
        public TaskGraph Add(DataTransfer.Events.TaskGraph item)
        {
            var userList = new List <Guid>();

            userList.Add(item.UserId);
            var mappedItem = new DataLayer.Models.TaskGraph
            {
                Id          = item.Id,
                Description = item.Description,
                Name        = item.Name,
                RootId      = null,
                ActiveUsers = userList,
                TaskSetId   = null
            };
            var added = dataCollector.Add(mappedItem);

            var ws = ServiceFactory.WorkspaceService.Get(item.WorkspaceId);

            if (ws.TaskGraphIds == null)
            {
                ws.TaskGraphIds = new List <Guid>();
            }
            ws.TaskGraphIds.Add(added.Id);

            var mappedWS = new DataLayer.Models.Workspace
            {
                Description  = ws.Description,
                Id           = ws.Id,
                Name         = ws.Name,
                ActiveUsers  = ws.ActiveUsers,
                TaskGraphIds = ws.TaskGraphIds
            };

            DataCollectorFactory.workspaceCollector.Update(mappedWS);

            return(new TaskGraph
            {
                Id = added.Id,
                ActiveUsers = added.ActiveUsers,
                Description = added.Description,
                Name = added.Name,
                RootId = added.RootId,
                TaskSetId = added.TaskSetId
            });
        }
        public DataTransfer.Models.TaskGraph Update(DataTransfer.Events.TaskGraph item)
        {
            var current = dataProvider.Get(item.Id);

            current.Name        = item.Name;
            current.RootId      = item.RootId;
            current.Description = item.Description;

            var mappedItem = new DataLayer.Models.TaskGraph
            {
                Id          = item.Id,
                Description = item.Description,
                Name        = item.Name,
                RootId      = item.RootId,
            };

            return(Mappers[Tuple.Create(Layer.Data, Layer.DataTransfer)].Map <DataLayer.Models.TaskGraph, TaskGraph>(dataCollector.Update(current)));
        }
Esempio n. 5
0
        public IActionResult Add([FromBody] TaskGraphAddModel taskGraph)
        {
            var taskGraphData = new DataTransfer.Events.TaskGraph
            {
                Description = taskGraph.Description,
                Name        = taskGraph.Name,
                Root        = null,
                Id          = Guid.NewGuid(),
                WorkspaceId = taskGraph.WorkspaceId,
                UserId      = taskGraph.UserId
            };

            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.TaskGraphs.AddItem",
                Data        = taskGraphData,
                EventTime   = DateTime.Now,
                Subject     = "accelerant-task-topic",
                DataVersion = "2.0"
            });

            client.PublishEventsAsync(topicHostname, eventsList).GetAwaiter().GetResult();

            return(Ok(taskGraphData));
        }