Esempio n. 1
0
        public void Display()
        {
            DataGridViewColumn sortcol   = dataGridViewCombat.SortedColumn != null ? dataGridViewCombat.SortedColumn : dataGridViewCombat.Columns[0];
            SortOrder          sortorder = dataGridViewCombat.SortOrder != SortOrder.None ? dataGridViewCombat.SortOrder : SortOrder.Descending;

            dataGridViewCombat.Rows.Clear();
            npc_total_kills = npc_faction_kills = total_reward = faction_reward = balance = total_crimes = pvp_kills = died = 0;

            if (current != null)
            {
                //System.Diagnostics.Debug.WriteLine("Filter {0} {1}", current.StartTime.ToStringZulu(), current.EndTime.ToStringZulu());
                List <HistoryEntry> hel;

                if (current.Type == FilterEntry.EntryType.Lastdock)
                {
                    hel = HistoryList.LatestFirstToLastDock(discoveryform.history.EntryOrder());
                }
                else if (current.Type == FilterEntry.EntryType.All)
                {
                    hel = discoveryform.history.LatestFirst();
                }
                else if (current.Type == FilterEntry.EntryType.Oneday)
                {
                    hel = HistoryList.FilterByDateRangeLatestFirst(discoveryform.history.EntryOrder(), DateTime.UtcNow.AddDays(-1), DateTime.UtcNow);
                }
                else if (current.Type == FilterEntry.EntryType.Sevendays)
                {
                    hel = HistoryList.FilterByDateRangeLatestFirst(discoveryform.history.EntryOrder(), DateTime.UtcNow.AddDays(-7), DateTime.UtcNow);
                }
                else if (current.Type == FilterEntry.EntryType.Today)
                {
                    hel = HistoryList.FilterByDateRangeLatestFirst(discoveryform.history.EntryOrder(), DateTime.UtcNow.Date, DateTime.UtcNow);
                }
                else if (current.Type == FilterEntry.EntryType.Mission)
                {
                    hel = new List <HistoryEntry>();     // default empty
                    if (current.MissionKey != null)
                    {
                        // look up the mission in the current data
                        MissionState ms = discoveryform.history.MissionListAccumulator.GetMission(current.MissionKey);
                        if (ms != null)
                        {
                            hel = HistoryList.FilterByDateRangeLatestFirst(discoveryform.history.EntryOrder(), current.StartTimeUTC, ms.MissionEndTime);
                        }
                    }
                }
                else
                {
                    hel = HistoryList.FilterByDateRangeLatestFirst(discoveryform.history.EntryOrder(), current.StartTimeUTC, current.EndTimeUTC);
                }

                var rows = new List <DataGridViewRow>(hel.Count);
                foreach (HistoryEntry he in hel)
                {
                    //System.Diagnostics.Debug.WriteLine("Combat Add {0} {1} {2}", he.EventTimeUTC.ToStringZulu(), he.EventSummary, he.EventDescription);
                    var row = createRow(he);
                    if (row != null)
                    {
                        rows.Add(row);
                    }
                }
                dataGridViewCombat.Rows.AddRange(rows.ToArray());
            }

            dataGridViewCombat.Sort(sortcol, (sortorder == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending);
            dataGridViewCombat.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder;

            SetLabels();
        }