public AddCommentToWorkItem(MailItem mailItem, Models.WorkItem workItem) { if (workItem == null) { throw new ArgumentNullException("workItems property is empty"); } if (mailItem == null) { throw new ArgumentNullException("mailItem property is required"); } _workItem = workItem; _mailItem = mailItem; InitializeComponent(); commentTextBox.Html = HtmlUtility.RemoveHeaderFromHtml(HtmlUtility.GetLastMessageFromMessageHTMLBody(mailItem.HTMLBody)); workItemTextBox.Text = workItem.ToString(); workItemTextBox.Enabled = false; if (SynchronizationContext.Current == null) { SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext()); } _syncContext = SynchronizationContext.Current; FillComplexityComboBox(); FillStatesComboBox(); Settings.settings.SetSettingsChangedNotification(() => FillComplexityComboBox()); }
//public async Task<string> InsertWorkItem(string ProjectName, string Title, string AssignedTo, string Description) public async Task <IActionResult> InsertWorkItem([FromBody] Models.WorkItem WI) { await Security.GetSecretKeys(); VssConnection connection = null; connection = new VssConnection(new Uri(Security.DevOpsAccount), new VssBasicCredential(string.Empty, Security.PAT)); WorkItemTrackingHttpClient witClient = connection.GetClient <WorkItemTrackingHttpClient>(); var document = new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchDocument(); document.Add( new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation() { Path = @"/fields/System.Title", Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add, Value = WI.Title }); document.Add( new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation() { Path = @"/fields/System.AssignedTo", Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add, Value = WI.AssignedTo }); document.Add( new Microsoft.VisualStudio.Services.WebApi.Patch.Json.JsonPatchOperation() { Path = @"/fields/System.Description", Operation = Microsoft.VisualStudio.Services.WebApi.Patch.Operation.Add, Value = WI.Description }); var worktime = witClient.CreateWorkItemAsync(document, WI.ProjectName, "Task").Result; return(StatusCode(StatusCodes.Status201Created, "Work Item with Id " + worktime.Id + " created sucessfully!")); }