// // GET: /Board/ public ActionResult Index() { var issueManagement = new IssueManagement(UserSession.Connection); var issueGroups = new IssueGroups { Backlog = issueManagement.GetIssuesBySearch("for: me #Unresolved -{In Progress}"), InProgress = issueManagement.GetIssuesBySearch("for: me #{In Progress}"), Completed = issueManagement.GetIssuesBySearch("for: me #Resolved") }; return View(issueGroups); }
/// <summary> /// Simple query, yields <c>ShortIssue</c> objects. Can drill down later if needed. /// </summary> /// <param name="s"></param> /// <returns></returns> public IList<ShortIssue> Query(string s) { var im = new IssueManagement(connection); return im.GetIssuesBySearch(s, sensibleQueryLimit, 0) .Select((dynamic i) => new ShortIssue(i.Id, i.summary)) .ToList(); }
public Project GetProjectTree(IssueManagement issueManagement) { var issues = issueManagement.GetIssuesBySearch(IssueSearchQuery).ToArray(); var metaissues = issues. Cast<dynamic>(). ToDictionary(iss => (string)iss.Id, issue => new { Id = (string) issue.Id, Summary = (string) issue.Summary, Subtasks = (List<KeyValuePair<string, string>>)GetSubtasks(issue.Links), Type = (string) issue.Type }); var tree = from issue in metaissues where issue.Value.Type == "Requirement" select new Project() { Id = issue.Key, Name = issue.Value.Summary, Childs = GetChilds(issue.Value.Subtasks.Select(sub => sub.Value), metaissues.ToDictionary(x=>x.Key,x=>x.Value.Summary)), }; return new Project {Childs = tree.ToArray(), Id = "HM", Name = "MarkTime"}; }
public Project GetProjectTree(IssueManagement issueManagement) { var issues = issueManagement.GetIssuesBySearch(IssueSearchQuery).ToArray(); var groupBy = issues. Cast<dynamic>(). Select(issue => new { Id = (string)issue.Id, Summary = (string)issue.Summary, Project = (string[])issue.SubProject, Type = (string)issue.Type }).GroupBy(x => x.Project); var projects = from grup in groupBy select new Project { Id = grup.Key.First(), Name = "", Childs = grup.Select(s=> new Project{Id=s.Id,Name = s.Summary,Childs = Enumerable.Empty<Project>()}) }; return new Project {Childs = projects, Id = "LM", Name = "Lamione"}; }
/// <summary> /// Simple query, yields <c>ShortIssue</c> objects. Can drill down later if needed. /// </summary> /// <param name="projectShortName"></param> /// <param name="query"></param> /// <returns></returns> public IList<ShortIssue> Query(string projectShortName, string query) { var im = new IssueManagement(Connection); if (!string.IsNullOrEmpty(projectShortName)) { query = string.Format("project: {0} {1}", projectShortName, query); } var mapper = new IssueToShortIssueMapper(BaseUrl); return im.GetIssuesBySearch(query, sensibleQueryLimit, 0) .Select(mapper.Map) .ToList(); }