/// <summary> /// The prompt. /// </summary> /// <param name="existetPlans">The existet plans.</param> /// <returns> /// The <see cref="string" />. /// </returns> public static SonarActionPlan Prompt(List<SonarActionPlan> existetPlans) { var inst = new PromptUserForNewPlan(existetPlans); inst.ShowDialog(); if ((bool)inst.DialogResult) { var plan = new SonarActionPlan(); plan.Name = inst.nameOfPlan.Text; plan.Description = inst.descriptionPlan.Text; if (inst.datePicker.SelectedDate.HasValue) { plan.DeadLine = inst.datePicker.SelectedDate.Value; } return plan; } return null; }
/// <summary> /// Attaches to existent plan. /// </summary> /// <param name="plan">The plan.</param> private void AttachToExistentPlan(SonarActionPlan plan) { using (var bw = new BackgroundWorker { WorkerReportsProgress = false }) { bw.RunWorkerCompleted += delegate { Application.Current.Dispatcher.Invoke(delegate { this.manager.EndedWorking(); }); }; bw.DoWork += delegate { this.manager.StartedWorking("Attach to plan"); var replies = this.rest.PlanIssues(this.config, this.model.SelectedItems, plan.Key.ToString()); foreach (var itemreply in replies) { this.manager.ReportMessage(new Message { Data = "Plan Operation Result: " + itemreply.Key + " : " + itemreply.Value }); } this.model.RefreshView(); }; bw.RunWorkerAsync(); } }
/// <summary> /// Associates to new plan. /// </summary> /// <param name="availablePlans">The available plans.</param> /// <param name="newPlan">The new plan.</param> private void AssociateToNewPlan(System.Collections.Generic.List<SonarActionPlan> availablePlans, SonarActionPlan newPlan) { using (var bw = new BackgroundWorker { WorkerReportsProgress = false }) { bw.RunWorkerCompleted += delegate { Application.Current.Dispatcher.Invoke(delegate { this.manager.EndedWorking(); }); }; bw.DoWork += delegate { this.manager.StartedWorking("Associate With New Plan"); try { var plan = this.rest.CreateNewPlan(this.config, this.associatedProject.Key, newPlan); var replies = this.rest.PlanIssues(this.config, this.model.SelectedItems, plan.Key.ToString()); foreach (var itemreply in replies) { this.manager.ReportMessage(new Message { Data = "Plan Operation Result: " + itemreply.Key + " : " + itemreply.Value }); } this.model.RefreshView(); } catch (Exception ex) { this.manager.ReportMessage(new Message { Data = "Plan Operation Failed" + ex.Message }); this.manager.ReportException(ex); } }; bw.RunWorkerAsync(); } }