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());
        }
Esempio n. 2
0
        //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!"));
        }