AdvancedLogParser.PrimaryDisplay.DrawList C# (CSharp) Method

DrawList() private method

private DrawList ( ) : void
return void
        private void DrawList()
        {
            mainList.Clear();

            mainList.Columns.Add("CD Key");
            mainList.Columns.Add("Community IDs");
            mainList.Columns.Add("DM Time");
            mainList.Columns.Add("First Login");
            mainList.Columns.Add("Last Login");

            mainList.ColumnClick += ColumnSort;

            if (currentPlayerView == PlayerListView.ThisMonth)
            {
                foreach (Player player in Players.ListByKey.Values)
                {
                    if (player.LastLogin.Month == DateTime.UtcNow.Month &&
                         player.LastLogin.Year == DateTime.UtcNow.Year)
                    {
                        string name = "";
                        foreach (string communityId in player.CommunityIds)
                        {
                            if (name == "")
                            {
                                name = communityId;
                            }
                            else
                            {
                                name += ", " + communityId.Trim();
                            }
                        }
                        mainList.Items.Add(new ListViewItem(new string[] { player.CDKey, name, String.Format("{0:N1}", player.DMTime), String.Format("{0:yyyy/MM/dd}", player.FirstLogin), String.Format("{0:yyyy/MM/dd}", player.LastLogin) }));
                    }
                }
                this.Name = String.Format("Players Active This Month ({0})", mainList.Items.Count);
                this.Text = this.Name;
            }
            if (currentPlayerView == PlayerListView.LastMonth)
            {
                foreach (Player player in Players.ListByKey.Values)
                {
                    DateTime lastMonth = DateTime.UtcNow;
                    lastMonth -= TimeSpan.FromDays(lastMonth.Day + 1);
                    if (player.LastLogin.Month == lastMonth.Month &&
                         player.LastLogin.Year == lastMonth.Year)
                    {
                        string name = "";
                        foreach (string communityId in player.CommunityIds)
                        {
                            if (name == "")
                            {
                                name = communityId;
                            }
                            else
                            {
                                name += ", " + communityId.Trim();
                            }
                        }
                        mainList.Items.Add(new ListViewItem(new string[] { player.CDKey, name, String.Format("{0:N1}", player.DMTime), String.Format("{0:yyyy/MM/dd}", player.FirstLogin), String.Format("{0:yyyy/MM/dd}", player.LastLogin) }));
                    }
                }
                this.Name = String.Format("Players Inactive Since Last Month ({0})", mainList.Items.Count);
                this.Text = this.Name;
            }
            if (currentPlayerView == PlayerListView.Older)
            {
                foreach (Player player in Players.ListByKey.Values)
                {
                    DateTime lastMonth = DateTime.UtcNow;
                    lastMonth -= TimeSpan.FromDays(lastMonth.Day + 1);
                    if ((player.LastLogin.Month != DateTime.UtcNow.Month ||
                         player.LastLogin.Year != DateTime.UtcNow.Year) &&
                         (player.LastLogin.Month != lastMonth.Month ||
                         player.LastLogin.Year != lastMonth.Year))
                    {
                        string name = "";
                        foreach (string communityId in player.CommunityIds)
                        {
                            if (name == "")
                            {
                                name = communityId;
                            }
                            else
                            {
                                name += ", " + communityId.Trim();
                            }
                        }
                        mainList.Items.Add(new ListViewItem(new string[] { player.CDKey, name, String.Format("{0:N1}", player.DMTime), String.Format("{0:yyyy/MM/dd}", player.FirstLogin), String.Format("{0:yyyy/MM/dd}", player.LastLogin) }));
                    }
                }
                this.Name = String.Format("Players Inactive For Longer ({0})", mainList.Items.Count);
                this.Text = this.Name;
            }
            if (currentPlayerView == PlayerListView.All)
            {
                foreach (Player player in Players.ListByKey.Values)
                {
                    string name = "";
                    foreach (string communityId in player.CommunityIds)
                    {
                        if (name == "")
                        {
                            name = communityId;
                        }
                        else
                        {
                            name += ", " + communityId.Trim();
                        }
                    }
                    mainList.Items.Add(new ListViewItem(new string[] { player.CDKey, name, String.Format("{0:N1}", player.DMTime), String.Format("{0:yyyy/MM/dd}", player.FirstLogin), player.LastLogin.ToShortDateString() }));
                }
                this.Name = String.Format("All Players ({0})", mainList.Items.Count);
                this.Text = this.Name;
            }
            mainList.KeyDown += new KeyEventHandler(mainList_KeyDown);

            mainList.Columns[0].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            mainList.Columns[1].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            mainList.Columns[2].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            mainList.Columns[3].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
            mainList.Columns[4].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
        }