Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #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 = ""
            });
        }
Beispiel #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 = ""
            });
        }
Beispiel #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
            });
        }
Beispiel #6
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
            });
        }
Beispiel #7
0
        /// <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);
        }
Beispiel #8
0
        /// <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);
        }