Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="DESystem"></param>
        /// <param name="stateToDisplay"></param>
        public void DisplayHistoryData(DESystemsForDisplay DESystem, string stateToDisplay)
        {
            // Get the history list and reverse sort so latest is first.
            List <DESystemsHistory> sysHist = new List <DESystemsHistory>(DESystem.FactionHistory);

            sysHist = sysHist.OrderByDescending(r => r.timestamp).ToList();

            foreach (var fhr in sysHist)
            {
                TimeSpan span = DateTime.Today.Subtract(fhr.timestamp.Date);
                if (!ShellViewModel.DisplayFullHistory)
                {
                    if ((int)span.TotalDays > 30)
                    {
                        continue;
                    }
                }

                // Sort the Dates
                HistoryDatesList hdl = new HistoryDatesList();
                hdl.HistDate = fhr.timestamp.ToShortDateString();
                HistDates.Add(hdl);

                SystemsFactionsHistory sfh = new SystemsFactionsHistory();
                sfh.FactionHist = new ObservableCollection <FactionHistData>();

                sfh.UpdatedAt = fhr.timestamp;

                // Get the index to the current history record
                var histIndex = sysHist.FindIndex(m => m.timestamp == fhr.timestamp);

                // Create temp list of factions and sort in influence order
                List <FullFactionData> fhs = new List <FullFactionData>(fhr.Factions);

                // Dump "Pilots Federation Local Branch" from the new list
                fhs.RemoveAll(x => x.Name.Contains("Federation Local Branch"));


                foreach (var fullFactionData in fhs)
                {
                    SystemsFactionsHistory sysFactionHist = new SystemsFactionsHistory();
                    sysFactionHist.FactionHist = new ObservableCollection <FactionHistData>();

                    sysFactionHist.FactionName = fullFactionData.Name;
                    sysFactionHist.UpdatedAt   = fhr.timestamp;

                    FactionHistData factionHistoryData = new FactionHistData();

                    factionHistoryData.fInf = fullFactionData.Influence;
                    if (fullFactionData.ActiveStates != null)
                    {
                        fullFactionData.ActiveStates    = AddSpaces(fullFactionData.ActiveStates);
                        factionHistoryData.ActiveStates = new ObservableCollection <States>(fullFactionData.ActiveStates);
                    }


                    if (fullFactionData.PendingStates != null)
                    {
                        fullFactionData.PendingStates    = AddSpaces(fullFactionData.PendingStates);
                        factionHistoryData.PendingStates = new ObservableCollection <States>(fullFactionData.PendingStates);
                    }


                    if (fullFactionData.RecoveringStates != null)
                    {
                        fullFactionData.RecoveringStates    = AddSpaces(fullFactionData.RecoveringStates);
                        factionHistoryData.RecoveringStates = new ObservableCollection <States>(fullFactionData.RecoveringStates);
                    }

                    sysFactionHist.FactionHist.Add(factionHistoryData);

                    SystemHistory.Add(sysFactionHist);
                }

                SystemHistory.Add(sfh);
            }
        }