Пример #1
0
        //
        // 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);
        }
Пример #2
0
 /// <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();
 }
Пример #3
0
        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"};
        }
Пример #4
0
        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"};
        }
Пример #5
0
        /// <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();
        }