Пример #1
0
 /// <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();
 }
Пример #2
0
        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);
        }
Пример #3
0
        /// <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 = ""
            });
        }
Пример #4
0
        /// <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 = ""
            });
        }
Пример #5
0
        /// <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
            });
        }