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);
}