/// <summary>
        ///     Locates the first email address of the specified type while
        ///     giving preference to email addresses marked as preferred.
        /// </summary>
        /// <param name="emailType">
        ///     The type of email address to locate.  This can be any
        ///     combination of values from <see cref="vCardEmailAddressType"/>.
        /// </param>
        /// <returns>
        ///     The function returns the first preferred email address that matches
        ///     the specified type.  If the collection does not contain a preferred
        ///     email address, then it will return the first non-preferred matching
        ///     email address.  The function returns null if no matches were found.
        /// </returns>
        public vCardEmailAddress GetFirstChoice(vCardEmailAddressType emailType)
        {
            vCardEmailAddress firstNonPreferred = null;

            foreach (vCardEmailAddress email in this)
            {
                if ((email.EmailType & emailType) == emailType)
                {
                    if (firstNonPreferred == null)
                    {
                        firstNonPreferred = email;
                    }

                    if (email.IsPreferred)
                    {
                        return(email);
                    }
                }
            }

            return(firstNonPreferred);
        }
Esempio n. 2
0
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/> of the specified type.
 /// </summary>
 /// <param name="address">
 ///     The email address.
 /// </param>
 /// <param name="emailType">
 ///     The type of email address.
 /// </param>
 public vCardEmailAddress(string address, vCardEmailAddressType emailType)
 {
     this.address   = address;
     this.emailType = emailType;
 }
Esempio n. 3
0
 /// <summary>
 ///     Creates a new Internet <see cref="vCardEmailAddress"/>.
 /// </summary>
 /// <param name="address">
 ///     The Internet email address.
 /// </param>
 public vCardEmailAddress(string address)
 {
     this.address   = address == null ? string.Empty : address;
     this.emailType = vCardEmailAddressType.Internet;
 }
Esempio n. 4
0
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/>.
 /// </summary>
 public vCardEmailAddress()
 {
     this.address   = string.Empty;
     this.emailType = vCardEmailAddressType.Internet;
 }
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/> of the specified type.
 /// </summary>
 /// <param name="address">
 ///     The email address.
 /// </param>
 /// <param name="emailType">
 ///     The type of email address.
 /// </param>
 public vCardEmailAddress(string address, vCardEmailAddressType emailType)
 {
     this.address = address;
     this.emailType = emailType;
 }
 /// <summary>
 ///     Creates a new Internet <see cref="vCardEmailAddress"/>.
 /// </summary>
 /// <param name="address">
 ///     The Internet email address.
 /// </param>
 public vCardEmailAddress(string address)
 {
     this.address = address == null ? string.Empty : address;
     this.emailType = vCardEmailAddressType.Internet;
 }
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/>.
 /// </summary>
 public vCardEmailAddress()
 {
     this.address = string.Empty;
     this.emailType = vCardEmailAddressType.Internet;
 }
 /// <summary>
 ///     Creates a new Internet <see cref="vCardEmailAddress"/>.
 /// </summary>
 /// <param name="address">
 ///     The Internet email address.
 /// </param>
 /// <param name="emailType">type of address, usually Internet. Internet is the default.</param>
 /// <param name="itemType">HOME,WORK, unspecified</param>
 public vCardEmailAddress(string address, vCardEmailAddressType emailType = vCardEmailAddressType.Internet, ItemType itemType = ItemType.UNSPECIFIED)
 {
     this.address   = address == null ? string.Empty : address;
     this.emailType = emailType;
     this.itemType  = itemType;
 }
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/>.
 /// </summary>
 public vCardEmailAddress()
 {
     this.address   = string.Empty;
     this.emailType = vCardEmailAddressType.Internet;
     this.itemType  = ItemType.UNSPECIFIED;
 }
Esempio n. 10
0
        private void CheckEmail(vCardEmailAddressCollection emails, string value, ItemType itemType, vCardEmailAddressType type, bool isPreferred)
        {
            if (emails == null || emails.Count == 0)
            {
                Assert.Fail("emails collection is empty or null");
            }


            var email = emails.FirstOrDefault(x => x.Address.Equals(value, StringComparison.OrdinalIgnoreCase));

            if (email == null)
            {
                Assert.Fail("email value " + value + "  is not found in collection");
            }

            Assert.AreEqual(itemType, email.ItemType);
            Assert.AreEqual(isPreferred, email.IsPreferred);
            Assert.AreEqual(type, email.EmailType);
        }

        }

        private void CheckAddress(vCardDeliveryAddressCollection addresses, string street, string city, string state, string zip, string country, vCardDeliveryAddressTypes addressTypes, bool isPreferred)
        {
            //there is no street address 2 it is just separated with \n

            if (addresses == null || addresses.Count == 0)
            {
                Assert.Fail("addresses null or empty");
            }

            var a = addresses.FirstOrDefault(x => x.Street == street && x.City == city);

            Assert.IsNotNull(a);

            Assert.AreEqual(state, a.Region);
            Assert.AreEqual(zip, a.PostalCode);
            Assert.AreEqual(country, a.Country);
            Assert.AreEqual(addressTypes, a.AddressType);
            Assert.AreEqual(isPreferred, a.IsPreferred);
 /// <summary>
 ///     Creates a new Internet <see cref="vCardEmailAddress"/>.
 /// </summary>
 /// <param name="address">
 ///     The Internet email address.
 /// </param>
 /// <param name="emailType">type of address, usually Internet. Internet is the default.</param>
 /// <param name="itemType">HOME,WORK, unspecified</param>
 public vCardEmailAddress(string address, vCardEmailAddressType emailType = vCardEmailAddressType.Internet, ItemType itemType = ItemType.UNSPECIFIED)
 {
     this.address = address == null ? string.Empty : address;
     this.emailType = emailType;
     this.itemType = itemType;
 }
 /// <summary>
 ///     Creates a new <see cref="vCardEmailAddress"/>.
 /// </summary>
 public vCardEmailAddress()
 {
     this.address = string.Empty;
     this.emailType = vCardEmailAddressType.Internet;
     this.itemType = ItemType.UNSPECIFIED;
 }