/// <summary> /// Constructor from the API. /// </summary> /// <param name="src"></param> internal EveMailMessage(CCPCharacter ccpCharacter, SerializableMailMessagesListItem src) { m_ccpCharacter = ccpCharacter; State = (src.SenderID != ccpCharacter.CharacterID ? EVEMailState.Inbox : EVEMailState.SentItem); MessageID = src.MessageID; Sender = src.ToListID.Any(x => x == src.SenderID.ToString()) ? GetMailingListIDToName(src.SenderID.ToString()) : EveIDtoName.GetIDToName(src.SenderID.ToString()); SentDate = src.SentDate; Title = src.Title; ToCorpOrAlliance = EveIDtoName.GetIDToName(src.ToCorpOrAllianceID); ToCharacters = GetIDsToNames(src.ToCharacterIDs); ToMailingLists = GetMailingListIDsToNames(src.ToListID); Recipient = GetRecipient(); }
public SerializableMailMessagesListItem ToXMLItem() { var ret = new SerializableMailMessagesListItem() { MessageID = MessageID, SenderID = SenderID, SentDate = SentDate, Title = Title, }; // Split up the recipients by type if (Recipients != null) { foreach (var recipient in Recipients) { long id = recipient.RecipientID; switch (recipient.RecipientType) { case "corporation": case "alliance": // Alliance ret.ToCorpOrAllianceID = id; break; case "mailing_list": // List ret.ToListID.Add(id); break; case "character": // Character ret.ToCharacterIDs.Add(id); break; default: // Ignore break; } } } return(ret); }
/// <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 }); }