コード例 #1
0
ファイル: MailHeader.cs プロジェクト: c0d3l0g1c/Skycap-Mail
        /// <summary>
        /// Determines whether this instance and another specified mail header object have the same value.
        /// </summary>
        /// <param name="obj">The mail header to compare to this instance.</param>
        /// <returns>true if the value of the value parameter is the same as this instance; otherwise, false.</returns>
        public override bool Equals(object obj)
        {
            MailHeader mailHeader = (MailHeader)obj;

            return(mailHeader.Mailbox.FullName.Equals(Mailbox.FullName, StringComparison.OrdinalIgnoreCase) &&
                   mailHeader.Uid.Equals(Uid, StringComparison.OrdinalIgnoreCase));
        }
コード例 #2
0
        /// <summary>
        /// Adds or updates the mail header for the specified account and mailbox.
        /// </summary>
        /// <param name="accountSettingsData">The account settings data.</param>
        /// <param name="mailbox">The mailbox.</param>
        /// <param name="mailHeader">The mail header.</param>
        public void AddOrUpdate(AccountSettingsData accountSettingsData, Mailbox mailbox, MailHeader mailHeader)
        {
            try
            {
                // Ensure the mail header dictionary entry exists
                EnsureMailHeader(accountSettingsData, mailbox);

                // If the header exists - update it
                if (this[accountSettingsData.EmailAddress][mailbox.FullName].Contains(mailHeader))
                {
                    this[accountSettingsData.EmailAddress][mailbox.FullName][this[accountSettingsData.EmailAddress][mailbox.FullName].IndexOf(mailHeader)] = mailHeader;
                }
                // Else if the header does not exist = add it
                else
                {
                    this[accountSettingsData.EmailAddress][mailbox.FullName].Add(mailHeader);
                }
            }
            catch (Exception ex)
            {
                LogFile.Instance.LogError(accountSettingsData.EmailAddress, mailbox.Name, ex.ToString());
            }
        }