Пример #1
0
        private void RefreshRedmineDetailMenu()
        {
            _redmine_taskResultList.Items.Clear();
            _redmine_filteredIssue = Ghost.Ghost.Instance.RedmineService.CurrentResult.MyIssues;

            switch (Convert.ToInt32(_redmine_TaskFilter1.SelectedIndex))
            {
            case 0:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "New" || issue.Status.Name == "Progress" || issue.Status.Name == "Feedback")
                                          select issue).ToList();
                break;

            case 1:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Resolved" || issue.Status.Name == "Rejected" || issue.Status.Name == "Wont Fix")
                                          select issue).ToList();
                break;

            case 2:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "New")
                                          select issue).ToList();
                break;

            case 3:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Progress")
                                          select issue).ToList();
                break;

            case 4:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Resolved")
                                          select issue).ToList();
                break;

            case 5:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Feedback")
                                          select issue).ToList();
                break;

            case 6:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Rejected")
                                          select issue).ToList();
                break;

            case 7:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Status.Name == "Wont Fix")
                                          select issue).ToList();
                break;

            default:
                break;
            }

            switch (Convert.ToInt32(_redmine_TaskFilter2.SelectedIndex))
            {
            case 0:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          select issue).OrderBy(issue => issue.DueDate).ToList();
                break;

            case 1:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where issue.DueDate != null &&
                                          (ExtDate.GetBusinessDays(DateTime.Today, (DateTime)issue.DueDate) <= 1 &&
                                           ExtDate.GetBusinessDays(DateTime.Today, (DateTime)issue.DueDate) >= 0)
                                          select issue).ToList();
                break;

            case 2:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where issue.DueDate != null &&
                                          (ExtDate.GetBusinessDays(DateTime.Today, (DateTime)issue.DueDate) <= 3 &&
                                           ExtDate.GetBusinessDays(DateTime.Today, (DateTime)issue.DueDate) > 1)
                                          select issue).ToList();
                break;

            case 3:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where issue.DueDate != null &&
                                          (ExtDate.GetBusinessDays(DateTime.Today, (DateTime)issue.DueDate) < 0)
                                          select issue).ToList();
                break;

            case 4:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Priority.Name == "High" || issue.Priority.Name == "Urgent" || issue.Priority.Name == "Immediate")
                                          select issue).ToList();
                break;

            case 5:
                _redmine_filteredIssue = (from issue in _redmine_filteredIssue
                                          where (issue.Priority.Name == "Low")
                                          select issue).ToList();
                break;

            default:
                break;
            }

            foreach (var issue in _redmine_filteredIssue)
            {
                _redmine_taskResultList.Items.Add(issue.Subject);
            }
            _redmine_taskResultList.MouseDoubleClick += new MouseEventHandler(_redmine_taskResultList_MouseDoubleClick);
        }