BuildMonitor.BuildStatusForm.ShowBuilds C# (CSharp) Method

ShowBuilds() private method

private ShowBuilds ( ) : void
return void
        private void ShowBuilds()
        {
            while (true)
            {
                try
                {
                    ClearItems();
                    ImageIndex overallImageIndex = ImageIndex.Green;
                    string culprit = "";
                    foreach (ServerBuild serverBuild in _serverBuilds)
                    {
                        IBuildServer buildServer = GetBuildServer(serverBuild.ServerUri.ToString());
                        IBuildDefinition buildDefinition = buildServer.QueryBuildDefinitionsByUri(new[] {serverBuild.BuildUri})[0];
                        string[] buildInformation = new string[2];
                        buildInformation[0] = buildDefinition.Name;

                        IBuildDetail lastBuildDetails =
                            buildServer.QueryBuildsByUri(new[] {buildDefinition.LastBuildUri}, null, QueryOptions.None)[0];
                        if (lastBuildDetails != null)
                        {
                            buildInformation[1] = lastBuildDetails.Status.ToString();
                        }
                        ImageIndex imageIndex = lastBuildDetails == null ? ImageIndex.Red : GetImageIndex(lastBuildDetails.Status);
                        ListViewItem listViewItem = new ListViewItem(buildInformation, (int) imageIndex) {Tag = serverBuild};
                        AddItem(listViewItem);
                        if (imageIndex == ImageIndex.Red)
                        {
                            overallImageIndex = ImageIndex.Red;
                            culprit = lastBuildDetails == null ? "Unable to find build" : lastBuildDetails.RequestedFor;
                        }
                        else if (imageIndex == ImageIndex.Yellow && overallImageIndex == ImageIndex.Green)
                        {
                            overallImageIndex = ImageIndex.Yellow;
                        }
                    }
                    SetSystemTrayIcon(overallImageIndex);
            //					SetX10IntegrationStatus(overallImageIndex);
                    if (overallImageIndex != _lastBuildStatus)
                    {
                        SetRadiatorBuildStatusColor(overallImageIndex);
                        AnnounceCulprit(culprit);
                        _lastBuildStatus = overallImageIndex;
                    }
                }
                catch (Exception exception)
                {
                    Console.WriteLine(exception);
                }
                Thread.Sleep(5000);
            }
        }