private void refillIssueTypes(ICollection <JiraNamedEntity> issueTypes)
        {
            listViewIssueTypes.Items.Clear();

            ImageList imageList = new ImageList();

            int i = 0;

            if (issueTypes == null)
            {
                issueTypes = JiraServerCache.Instance.getIssueTypes(server).Values;
            }
            foreach (JiraNamedEntity issueType in issueTypes)
            {
                imageList.Images.Add(ImageCache.Instance.getImage(server, issueType.IconUrl).Img);
                ListViewItem lvi = new JiraNamedEntityListViewItem(issueType, i);
                listViewIssueTypes.Items.Add(lvi);
                ++i;
            }
            listViewIssueTypes.SmallImageList = imageList;
        }
        private void refillStatuses(SortedDictionary <int, JiraNamedEntity> statuses)
        {
            listViewStatuses.Items.Clear();

            if (statuses == null)
            {
                return;
            }

            ImageList imageList = new ImageList();

            int i = 0;

            foreach (int key in statuses.Keys)
            {
                imageList.Images.Add(ImageCache.Instance.getImage(server, statuses[key].IconUrl).Img);
                ListViewItem lvi = new JiraNamedEntityListViewItem(statuses[key], i);
                listViewStatuses.Items.Add(lvi);
                ++i;
            }
            listViewStatuses.SmallImageList = imageList;
        }
        private void refillPriorities(IEnumerable <JiraNamedEntity> priorities)
        {
            listViewPriorities.Items.Clear();

            if (priorities == null)
            {
                return;
            }

            ImageList imageList = new ImageList();

            int i = 0;

            foreach (JiraNamedEntity prio in priorities)
            {
                imageList.Images.Add(ImageCache.Instance.getImage(server, prio.IconUrl).Img);
                ListViewItem lvi = new JiraNamedEntityListViewItem(prio, i);
                listViewPriorities.Items.Add(lvi);
                ++i;
            }
            listViewPriorities.SmallImageList = imageList;
        }
        private void buttonOk_Click(object sender, EventArgs e)
        {
            clearFilterValues();

            filter.Name = textBoxFilterName.Text.Trim();

            foreach (var item in listViewProjects.SelectedItems)
            {
                JiraProjectListViewItem proj = item as JiraProjectListViewItem;
                if (proj != null)
                {
                    filter.Projects.Add(proj.Project);
                }
            }
            foreach (var item in listViewIssueTypes.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.IssueTypes.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewFixForVersions.SelectedItems)
            {
                JiraNamedEntityListViewItem version = item as JiraNamedEntityListViewItem;
                if (version != null)
                {
                    filter.FixForVersions.Add(version.Entity);
                }
            }
            foreach (var item in listViewAffectsVersions.SelectedItems)
            {
                JiraNamedEntityListViewItem version = item as JiraNamedEntityListViewItem;
                if (version != null)
                {
                    filter.AffectsVersions.Add(version.Entity);
                }
            }
            foreach (var item in listViewComponents.SelectedItems)
            {
                JiraNamedEntityListViewItem comp = item as JiraNamedEntityListViewItem;
                if (comp != null)
                {
                    filter.Components.Add(comp.Entity);
                }
            }
            foreach (var item in listViewPriorities.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.Priorities.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewStatuses.SelectedItems)
            {
                JiraNamedEntityListViewItem itlvi = item as JiraNamedEntityListViewItem;
                if (itlvi != null)
                {
                    filter.Statuses.Add(itlvi.Entity);
                }
            }
            foreach (var item in listViewResolutions.SelectedItems)
            {
                JiraNamedEntityListViewItem resolution = item as JiraNamedEntityListViewItem;
                if (resolution != null)
                {
                    filter.Resolutions.Add(resolution.Entity);
                }
            }
            var reporter = comboBoxReporter.SelectedItem;

            if (reporter != null)
            {
                UserTypeComboBoxItem item = reporter as UserTypeComboBoxItem;
                if (item != null)
                {
                    filter.Reporter = item.Type;
                }
            }
            else
            {
                filter.Reporter = JiraCustomFilter.UserType.UNDEFINED;
            }
            var assignee = comboBoxAssignee.SelectedItem;

            if (assignee != null)
            {
                UserTypeComboBoxItem item = assignee as UserTypeComboBoxItem;
                if (item != null)
                {
                    filter.Assignee = item.Type;
                }
            }
            else
            {
                filter.Assignee = JiraCustomFilter.UserType.UNDEFINED;
            }

            Changed = true;
            Close();
        }