/// <summary> /// Stories and Defects associated with this Request. /// </summary> /// <param name="filter">Criteria to filter stories and defects on. Pass a DefectFilter or StoryFilter to get only Defects or Stories, respectively.</param> public ICollection<PrimaryWorkitem> GetPrimaryWorkitems(PrimaryWorkitemFilter filter) { filter = filter ?? new PrimaryWorkitemFilter(); filter.Requests.Clear(); filter.Requests.Add(this); return Instance.Get.PrimaryWorkitems(filter); }
/// <summary> /// Stories and Defects completed in this Build Run /// </summary> public ICollection<PrimaryWorkitem> GetCompletedPrimaryWorkitems(PrimaryWorkitemFilter filter) { filter = filter ?? new PrimaryWorkitemFilter(); filter.CompletedIn.Clear(); filter.CompletedIn.Add(this); return Instance.Get.PrimaryWorkitems(filter); }
/// <summary> /// Primary workitems that are affected by this defect /// </summary> /// <param name="filter">Criteria to filter stories and defects on. Pass a DefectFilter or StoryFilter to get only Defects or Stories, respectively.</param> public ICollection<PrimaryWorkitem> GetAffectedPrimaryWorkitems(PrimaryWorkitemFilter filter) { filter = filter ?? new PrimaryWorkitemFilter(); filter.AffectedByDefects.Clear(); filter.AffectedByDefects.Add(this); return Instance.Get.PrimaryWorkitems(filter); }
public void ProjectTotalEstimateSliceByIteration() { var story1 = EntityFactory.CreateStory("Story 1", SandboxProject); var story2 = EntityFactory.CreateStory("Story 2", SandboxProject); var iteration = EntityFactory.Create(() => SandboxProject.CreateIteration()); iteration.Name = "Test Iteration"; iteration.Save(); story1.Estimate = 1.0; story2.Estimate = 2.0; var inIteration1 = CreateStory("In 1", SandboxProject, iteration); var inIteration2 = CreateStory("In 2", SandboxProject, iteration); Assert.AreEqual(SandboxProject, inIteration1.Project); Assert.AreEqual(SandboxProject, inIteration2.Project); inIteration1.Estimate = 10.0; inIteration2.Estimate = 5.0; story1.Save(); story2.Save(); inIteration1.Save(); inIteration2.Save(); var filter = new PrimaryWorkitemFilter(); filter.Iteration.Add(iteration); Assert.AreEqual(15.0, SandboxProject.GetTotalEstimate(filter)); }
private static ICollection<PrimaryWorkitem> GetFilteredPrimaryWorkitemsForProject(Project project) { var filter = new PrimaryWorkitemFilter(); filter.Epic.Add(null); var primaryWorkitems = project.GetPrimaryWorkitems(filter); return primaryWorkitems; }
/// <summary> /// Stories and Defects with source changes in this Build Run /// </summary> public ICollection<PrimaryWorkitem> GetAffectedPrimaryWorkitems(PrimaryWorkitemFilter filter) { filter = filter ?? new PrimaryWorkitemFilter(); // The BuildRun's connected to the ChangeSets. foreach (ChangeSet changeSet in ChangeSets) { // The ChangeSet's connected to the PWI's. Sing with me, now! foreach (PrimaryWorkitem pwi in changeSet.PrimaryWorkitems) { // Add the specific items by ID. filter.DisplayID.Add(pwi.DisplayID); } } return Instance.Get.PrimaryWorkitems(filter); }
/// <summary> /// PrimaryWorkiems that are immediate children of this Epic /// </summary> public ICollection<PrimaryWorkitem> GetChildPrimaryWorkiems(PrimaryWorkitemFilter filter) { filter = filter ?? new PrimaryWorkitemFilter(); filter.Epic.Clear(); filter.Epic.Add(this); return Instance.Get.PrimaryWorkitems(filter); }
/// <summary> /// Return the total estimate for all stories and defects owned by this member optionally filtered /// </summary> /// <param name="filter">Criteria to filter stories and defects on. Pass a DefectFilter or StoryFilter to get only Defects or Stories, respectively.</param> /// <returns></returns> public double? GetTotalEstimate(PrimaryWorkitemFilter filter) { return GetSum("OwnedWorkitems:PrimaryWorkitem", filter ?? new PrimaryWorkitemFilter(), "Estimate"); }
private PrimaryWorkitemFilter GetFilter() { var filter = new PrimaryWorkitemFilter(); filter.Project.Add(SandboxProject); return filter; }
public void OnlyStoriesandDefects() { var root = SandboxProject.ParentProject; var wiFilter = new PrimaryWorkitemFilter(); wiFilter.State.Add(State.Active); double? totalEstimate = Instance.Get.Workitems(wiFilter).Where(workitem => workitem.DetailEstimate != null) .Aggregate<Workitem, double?>(null, (current, workitem) => current + workitem.DetailEstimate); Assert.AreEqual(totalEstimate, root.GetTotalDetailEstimate(wiFilter)); }
private void RefreshStuff() { Clear(menuOtherStuff.DropDownItems); Clear(menuMyStuff.DropDownItems); if (Global.Config.IsValid && Global.IsValid) { var filter = new PrimaryWorkitemFilter(); GetActiveIterations().ForEach(iteration => filter.Iteration.Add(iteration)); filter.State.Add(State.Active); filter.OrderBy.Add("RankOrder"); foreach (PrimaryWorkitem pw in Global.Instance.Get.PrimaryWorkitems(filter)) { ToolStripMenuItem myItem = null; ToolStripMenuItem otherItem = null; if (pw.Owners.Contains(Global.Instance.LoggedInMember)) { myItem = CreateMenuItem(pw); menuMyStuff.DropDownItems.Add(myItem); } else { otherItem = CreateMenuItem(pw); menuOtherStuff.DropDownItems.Add(otherItem); } var taskFilter = new TaskFilter(); taskFilter.Parent.Add(pw); taskFilter.OrderBy.Add("RankOrder"); foreach (Task task in Global.Instance.Get.Tasks(taskFilter)) RefreshSubItem(pw, task, ref myItem, ref otherItem); var testFilter = new TestFilter(); testFilter.Parent.Add(pw); testFilter.OrderBy.Add("RankOrder"); foreach (Test test in Global.Instance.Get.Tests(testFilter)) RefreshSubItem(pw, test, ref myItem, ref otherItem); } } }
[Test] public void FilterListTypeText() { PrimaryWorkitem story = SandboxProject.CreateStory("Going to filter on Status"); story.Status.CurrentValue = "In Progress"; story.Save(); ResetInstance(); PrimaryWorkitemFilter filter = new PrimaryWorkitemFilter(); filter.Status.Add("In Progress"); IEnumerable<PrimaryWorkitem> result = Instance.Get.PrimaryWorkitems(filter); Assert.IsTrue(FindRelated(story, result)); foreach (PrimaryWorkitem workitem in result) Assert.AreEqual("In Progress", workitem.Status.ToString()); }