Exemplo n.º 1
0
        public ActionMenuItem(IssueItemView item, IIssueAction action)
            : base(action.Name)
        {
            _issue = item;
            _action = action;

            ToolTipText = String.Format("{0} and assign to {1}.", _action.Name, _issue.ReportedBy.Name);

            base.Click += new EventHandler(DoClick);
        }
Exemplo n.º 2
0
        bool MatchesCurrentFilter(IssueItemView item)
        {
            IIssueUser byAssignee;
            if (_assignedFilter.TryGetSelection(out byAssignee) && byAssignee.Id != AllUsersFilter.Instance.Id)
            {
                if (item.AssignedTo.Id != byAssignee.Id)
                    return false;
            }

            IIssueState byStatus;
            if (_statusFilter.TryGetSelection(out byStatus) && byStatus.Id != AllStatusFilter.Instance.Id)
            {
                if (item.CurrentState.Id != byStatus.Id)
                    return false;
            }

            if (!String.IsNullOrEmpty(_textFilter))
            {
                foreach (string part in _textFilter.Split(' ', '\t'))
                {
                    string phrase = part.Trim();
                    if (String.IsNullOrEmpty(phrase))
                        continue;
                    if (item.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 &&
                        item.DisplayId.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 &&
                        item.FullDescription.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 &&
                        item.CurrentState.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 &&
                        item.AssignedTo.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0 &&
                        item.ReportedBy.Name.IndexOf(phrase, StringComparison.InvariantCultureIgnoreCase) < 0)
                        return false;
                }
            }

            return true;
        }
Exemplo n.º 3
0
        public void Refresh(bool applyLocal)
        {
            IIssueFilter filter;
            List<IssueItemView> found = new List<IssueItemView>();

            Dictionary<string, IIssueUser> distinct = new Dictionary<string, IIssueUser>();
            Dictionary<string, IIssueUser> assigned = new Dictionary<string, IIssueUser>();
            assigned[AllUsersFilter.Instance.Id] = AllUsersFilter.Instance;

            Dictionary<string, IIssueState> statuses = new Dictionary<string, IIssueState>();
            statuses[AllStatusFilter.Instance.Id] = AllStatusFilter.Instance;

            if (_filters.TryGetSelection(out filter))
            {
                IIssue[] items;
                if (filter is IIssueFilterWithSearch)
                    items = ((IIssueFilterWithSearch)filter).GetIssues(_textFilter, 0, 50);
                else
                    items = filter.GetIssues(0, 50);

                foreach (IIssue issue in items)
                {
                    IssueItemView item = new IssueItemView(this, issue);
                    found.Add(item);

                    distinct[item.AssignedTo.Id] = item.AssignedTo;
                    distinct[item.ReportedBy.Id] = item.ReportedBy;

                    assigned[item.AssignedTo.Id] = item.AssignedTo;
                    statuses[item.CurrentState.Id] = item.CurrentState;
                }
            }

            _found = found.ToArray();
            _assignees.AddRange(distinct.Values);

            _assignedFilter.ReplaceContents(assigned.Values);
            if (_assignedFilter.SelectedItem == null)
            {
                _assignedFilter.SelectedItem = AllUsersFilter.Instance;
                if (_assignedFilter.IsSelectionDirty)
                    OnPropertyChanged("SelectedAssignmentFilter");
            }
            _statusFilter.ReplaceContents(statuses.Values);
            if (_statusFilter.SelectedItem == null)
            {
                _statusFilter.SelectedItem = AllStatusFilter.Instance;
                if (_statusFilter.IsSelectionDirty)
                    OnPropertyChanged("SelectedStatusFilter");
            }

            if(applyLocal)
                LocalFilterChanged();
        }