/// <summary> /// Processes the queried EVE mail message mail body. /// </summary> /// <param name="result">The result.</param> private void OnEVEMailBodyDownloaded(EsiResult <EsiAPIMailBody> result, object forMessage) { long messageID = (forMessage as long?) ?? 0L; m_queryPending = false; // Notify an error occured if (m_ccpCharacter.ShouldNotifyError(result, ESIAPICharacterMethods.MailBodies)) { EveMonClient.Notifications.NotifyEVEMailBodiesError(m_ccpCharacter, result); } // Quits if there is an error if (result.HasError || messageID == 0L) { return; } // Quit if for any reason there is no text if (string.IsNullOrEmpty(result.Result.Body)) { return; } // Import the data EVEMailBody = new EveMailBody(messageID, result.Result); EveMonClient.OnCharacterEVEMailBodyDownloaded(m_ccpCharacter); }
/// <summary> /// Processes the queried EVE mail message mail body. /// </summary> /// <param name="result">The result.</param> private void OnEVEMailBodyDownloaded(EsiResult <EsiAPIMailBody> result, object forMessage) { long messageID = (forMessage as long?) ?? 0L; m_queryPending = false; // Notify if an error occured if (m_ccpCharacter.ShouldNotifyError(result, ESIAPICharacterMethods.MailBodies)) { EveMonClient.Notifications.NotifyEVEMailBodiesError(m_ccpCharacter, result); } if (!result.HasError && messageID != 0L && !string.IsNullOrEmpty(result.Result.Body)) { EVEMailBody = new EveMailBody(messageID, result.Result); EveMonClient.OnCharacterEVEMailBodyDownloaded(m_ccpCharacter); } }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="ccpCharacter"></param> /// <param name="src"></param> internal EveMailMessage(CCPCharacter ccpCharacter, SerializableMailMessagesListItem src) { if (ccpCharacter == null) { throw new ArgumentNullException("ccpCharacter"); } m_ccpCharacter = ccpCharacter; m_source = src; m_bodyResponse = null; long senderID = src.SenderID; State = (senderID != ccpCharacter.CharacterID) ? EveMailState.Inbox : EveMailState.SentItem; MessageID = src.MessageID; SentDate = src.SentDate; Title = src.Title.HtmlDecode(); // Was it sent from a mailing list? if (src.ToListID.Contains(senderID)) { m_senderName = ccpCharacter.EVEMailingLists.FirstOrDefault(x => x.ID == senderID)?.Name ?? EveMonConstants.UnknownText; } else if (senderID == 0L) { m_senderName = EveMonConstants.UnknownText; } else { m_senderName = EveIDToName.GetIDToName(senderID); } m_toCharacters = GetIDsToNames(src.ToCharacterIDs); m_toMailingLists = GetMailingListIDsToNames(src.ToListID); m_toCorpOrAlliance = EveIDToName.GetIDToName(src.ToCorpOrAllianceID); EVEMailBody = new EveMailBody(0L, new EsiAPIMailBody() { Body = "" }); }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="ccpCharacter"></param> /// <param name="src"></param> internal EveMailMessage(CCPCharacter ccpCharacter, SerializableMailMessagesListItem src) { m_ccpCharacter = ccpCharacter; m_source = src; State = src.SenderID != ccpCharacter.CharacterID ? EveMailState.Inbox : EveMailState.SentItem; MessageID = src.MessageID; SentDate = src.SentDate; Title = src.Title.HtmlDecode(); m_senderName = EveIDToName.GetIDToName(src.SenderID); m_toCharacters = GetIDsToNames(src.ToCharacterIDs); m_toMailingLists = GetMailingListIDsToNames(src.ToListID); m_toCorpOrAlliance = EveIDToName.GetIDToName(src.ToCorpOrAllianceID); EVEMailBody = new EveMailBody(0L, new EsiAPIMailBody() { Body = "" }); }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="ccpCharacter"></param> /// <param name="src"></param> internal EveMailMessage(CCPCharacter ccpCharacter, SerializableMailMessagesListItem src) { m_ccpCharacter = ccpCharacter; m_source = src; State = src.SenderID != ccpCharacter.CharacterID ? EveMailState.Inbox : EveMailState.SentItem; MessageID = src.MessageID; SentDate = src.SentDate; Title = src.Title.HtmlDecode(); SenderName = src.SenderName; m_toCharacters = GetIDsToNames(src.ToCharacterIDs); m_mailingLists = GetMailingListIDsToNames(src.ToListID); m_toCorpOrAlliance = GetCorpOrAlliance(src.ToCorpOrAllianceID); EVEMailBody = new EveMailBody(new SerializableMailBodiesListItem { MessageID = 0, MessageText = String.Empty }); }
/// <summary> /// Constructor from the API. /// </summary> /// <param name="ccpCharacter"></param> /// <param name="src"></param> internal EveMailMessage(CCPCharacter ccpCharacter, SerializableMailMessagesListItem src) { m_ccpCharacter = ccpCharacter; m_source = src; State = src.SenderID != ccpCharacter.CharacterID ? EveMailState.Inbox : EveMailState.SentItem; MessageID = src.MessageID; SentDate = src.SentDate; Title = src.Title.HtmlDecode(); SenderName = src.SenderName; m_toCharacters = GetIDsToNames(src.ToCharacterIDs); m_mailingLists = GetMailingListIDsToNames(src.ToListID); m_toCorpOrAlliance = GetCorpOrAlliance(src.ToCorpOrAllianceID); EVEMailBody = new EveMailBody(new SerializableMailBodiesListItem { MessageID = 0, MessageText = String.Empty }); }
/// <summary> /// Processes the queried EVE mail message mail body. /// </summary> /// <param name="result">The result.</param> private void OnEVEMailBodyDownloaded(CCPAPIResult <SerializableAPIMailBodies> result) { m_queryPending = false; // Notify an error occured if (m_ccpCharacter.ShouldNotifyError(result, CCPAPICharacterMethods.MailBodies)) { EveMonClient.Notifications.NotifyEVEMailBodiesError(m_ccpCharacter, result); } // Quits if there is an error if (result.HasError) { return; } // If there is an error response on missing IDs inform the user if (!String.IsNullOrEmpty(result.Result.MissingMessageIDs)) { result.Result.Bodies.Add( new SerializableMailBodiesListItem { MessageID = long.Parse(result.Result.MissingMessageIDs, CultureConstants.InvariantCulture), MessageText = "The text for this message was reported missing." }); } // Quit if for any reason there is no text if (!result.Result.Bodies.Any()) { return; } // Import the data EVEMailBody = new EveMailBody(result.Result.Bodies.First()); EveMonClient.OnCharacterEVEMailBodyDownloaded(m_ccpCharacter); }
/// <summary> /// Processes the queried EVE mail message mail body. /// </summary> /// <param name="result">The result.</param> private void OnEVEMailBodyDownloaded(CCPAPIResult<SerializableAPIMailBodies> result) { m_queryPending = false; // Notify an error occured if (m_ccpCharacter.ShouldNotifyError(result, CCPAPICharacterMethods.MailBodies)) EveMonClient.Notifications.NotifyEVEMailBodiesError(m_ccpCharacter, result); // Quits if there is an error if (result.HasError) return; // If there is an error response on missing IDs inform the user if (!String.IsNullOrEmpty(result.Result.MissingMessageIDs)) { result.Result.Bodies.Add( new SerializableMailBodiesListItem { MessageID = long.Parse(result.Result.MissingMessageIDs, CultureConstants.InvariantCulture), MessageText = "The text for this message was reported missing." }); } // Quit if for any reason there is no text if (!result.Result.Bodies.Any()) return; // Import the data EVEMailBody = new EveMailBody(result.Result.Bodies.First()); EveMonClient.OnCharacterEVEMailBodyDownloaded(m_ccpCharacter); }