Exemplo n.º 1
0
        private void EventStatusComplete(object state)
        {
            currentEventTaskId = null;
            ListViewItemEventArgs e = state as ListViewItemEventArgs;

            if (e.Error != null || e.Cancelled || e.Items == null || e.Items.Length == 0)
            {
                label4.Text = "No results";
            }
            else
            {
#if NET_35_OR_GREATER
                ListViewGroup lvgroup = new ListViewGroup();
                statusListView.BeginUpdate();
                int running = 0, succeeded = 0, stopped = 0, failed = 0;
                for (int i = 0; i < e.Items.Length; i++)
                {
                    if (lvgroup.Header != e.Items[i].Text)
                    {
                        lvgroup = new ListViewGroup(e.Items[i].Text);
                        statusListView.Groups.Add(lvgroup);
                        lvgroup.SetCollapsible(true);
                    }
                    e.Items[i].Group = lvgroup;
                    statusListView.Items.Add(e.Items[i]);
                    switch (((CorrelatedTaskEvent)e.Items[i].Tag).RunResult)
                    {
                    case CorrelatedTaskEvent.Status.StillRunning:
                        running++;
                        break;

                    case CorrelatedTaskEvent.Status.Success:
                        succeeded++;
                        break;

                    case CorrelatedTaskEvent.Status.Failure:
                        failed++;
                        break;

                    case CorrelatedTaskEvent.Status.Terminated:
                        stopped++;
                        break;

                    default:
                        break;
                    }
                }
                statusListView.EndUpdate();
                label4.Text = string.Format(label4.Tag.ToString(), e.Items.Length, running, succeeded, stopped, failed);
#endif
            }
            statusListView.UseWaitCursor = false;
        }
        private void statusBackgroundWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
        {
            ListViewItem[] items = e.Result as ListViewItem[];
            if (items == null)
            {
                label4.Text = "No results";
                return;
            }
            ListViewGroup lvgroup = new ListViewGroup();

            statusListView.BeginUpdate();
            int running = 0, succeeded = 0, stopped = 0, failed = 0;

            for (int i = 0; i < items.Length; i++)
            {
                if (lvgroup.Header != items[i].Text)
                {
                    lvgroup = new ListViewGroup(items[i].Text);
                    statusListView.Groups.Add(lvgroup);
                    lvgroup.SetCollapsible(true);
                }
                items[i].Group = lvgroup;
                statusListView.Items.Add(items[i]);
#if NET_35_OR_GREATER
                switch (((CorrelatedTaskEvent)items[i].Tag).RunResult)
                {
                case CorrelatedTaskEvent.Status.StillRunning:
                    running++;
                    break;

                case CorrelatedTaskEvent.Status.Success:
                    succeeded++;
                    break;

                case CorrelatedTaskEvent.Status.Failure:
                    failed++;
                    break;

                case CorrelatedTaskEvent.Status.Terminated:
                    stopped++;
                    break;

                default:
                    break;
                }
#endif
            }
            statusListView.EndUpdate();
            statusListView.UseWaitCursor = false;
            label4.Text = string.Format(label4.Tag.ToString(), items.Length, running, succeeded, stopped, failed);
        }