/// <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); }
/// <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; }
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);