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