예제 #1
0
 /// <summary>
 /// Handles the TimerTick event of the EveMonClient control.
 /// </summary>
 /// <param name="sender">The source of the event.</param>
 /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
 private void EveMonClient_TimerTick(object sender, EventArgs e)
 {
     // Force update a monitor if the last update exceed the current datetime
     foreach (IQueryMonitorEx monitor in QueryMonitors.Where(
                  monitor => !monitor.IsUpdating && monitor.LastUpdate > DateTime.UtcNow).Cast <IQueryMonitorEx>())
     {
         monitor.ForceUpdate(true);
     }
 }
예제 #2
0
        /// <summary>
        /// Create a serializable character sheet for this character.
        /// </summary>
        /// <returns></returns>
        public override SerializableSettingsCharacter Export()
        {
            SerializableCCPCharacter serial = new SerializableCCPCharacter();

            Export(serial);

            // Skill queue
            serial.SkillQueue.AddRange(SkillQueue.Export());

            // Market orders
            serial.MarketOrders.AddRange(MarketOrdersExport());

            // Contracts
            serial.Contracts.AddRange(ContractsExport());

            // Industry jobs
            serial.IndustryJobs.AddRange(IndustryJobsExport());

            // Eve mail messages IDs
            serial.EveMailMessagesIDs = EVEMailMessages.Export();

            // Eve notifications IDs
            serial.EveNotificationsIDs = EVENotifications.Export();

            // WalletTransactions to XML
            WalletTransactions.ExportToCacheFile();
            serial.LastWalletTransactionTime = WalletTransactions.Count == 0 ? DateTime.MinValue : WalletTransactions.Max(wt => wt.Date);

            // Last API updates
            if (QueryMonitors.Any())
            {
                m_lastAPIUpdates = QueryMonitors.Select(
                    monitor => new SerializableAPIUpdate
                {
                    Method = monitor.Method.ToString(),
                    Time   = monitor.LastUpdate
                }).ToList();
            }

            serial.LastUpdates.AddRange(m_lastAPIUpdates);

            return(serial);
        }
예제 #3
0
        /// <summary>
        /// Create a serializable character sheet for this character.
        /// </summary>
        /// <returns></returns>
        public override SerializableSettingsCharacter Export()
        {
            SerializableCCPCharacter serial = new SerializableCCPCharacter();

            Export(serial);

            // Skill queue
            serial.SkillQueue.AddRange(SkillQueue.Export());

            // Market orders
            serial.MarketOrders.AddRange(MarketOrdersExport());

            // Contracts
            serial.Contracts.AddRange(ContractsExport());

            // ContractBids
            serial.ContractBids.AddRange(CharacterContractBids.Export());

            // Industry jobs
            serial.IndustryJobs.AddRange(IndustryJobsExport());

            // Eve mail messages IDs
            serial.EveMailMessagesIDs = EVEMailMessages.Export();

            // Eve notifications IDs
            serial.EveNotificationsIDs = EVENotifications.Export();

            // Last API updates
            if (QueryMonitors.Any())
            {
                m_lastAPIUpdates = QueryMonitors.Select(
                    monitor => new SerializableAPIUpdate
                {
                    Method = monitor.Method.ToString(),
                    Time   = monitor.LastUpdate
                }).ToList();
            }

            serial.LastUpdates.AddRange(m_lastAPIUpdates);

            return(serial);
        }