Exemple #1
0
        public async Task <TaskItem> TaskItem(JToken jsonTaskItem)
        {
            minStartTime = new DateTimeOffset(new DateTime(2015, 1, 1));
            var taskItem = new TaskItem
            {
                Id                 = (int)jsonTaskItem["id"],
                Title              = jsonTaskItem["fields"]["System.Title"].ToString(),
                StartTime          = minStartTime,
                FinishTime         = new DateTimeOffset(DateTime.Now.AddYears(50)),
                Type               = GetTaskItemType(jsonTaskItem["fields"]["System.WorkItemType"]),
                DevelopmentTeam    = jsonTaskItem["fields"]["System.BoardLane"]?.ToString(),
                CreatedOn          = (DateTimeOffset)jsonTaskItem["fields"]["System.CreatedDate"],
                CreatedBy          = jsonTaskItem["fields"]["System.CreatedBy"]["displayName"].ToString(),
                LastChangedOn      = (DateTimeOffset)jsonTaskItem["fields"]["System.ChangedDate"],
                LastChangedBy      = jsonTaskItem["fields"]["System.ChangedBy"]["displayName"].ToString(),
                CurrentBoardColumn = GetBoardColumn(jsonTaskItem["fields"]["System.BoardColumn"].ToString()),
                State              = GetTaskItemState(jsonTaskItem["fields"]["System.State"].ToString()),
                NumRevisions       = (int)jsonTaskItem["rev"],
                Release            = new Release(),
                HistoryEvents      = new List <HistoryEvent>()
            };

            var jsonWorkItemUpdates = devOpsApiWrapper.GetWorkItemUpdates(taskItem);

            taskItem = GetHistoryDetails(taskItem, jsonWorkItemUpdates);

            taskItem.Release = await releaseRepository.GetFirstReleaseBeforeDateAsync(taskItem.FinishTime);

            Console.WriteLine($"Finished Deserializing Card: {taskItem.Id}");
            return(taskItem);
        }