public void Constructor() { vCardEmailAddress email = new vCardEmailAddress(); Assert.IsEmpty( email.Address, "The Address property should default to String.Empty."); }
private void SetSummaryValue(StateTextBox valueLabel, vCardEmailAddress email) { valueLabel.Text = string.Empty; if (email != null) { SetSummaryValue(valueLabel, email.Address); } }
public void ReadWriteProperty_EmailType() { // Make sure the EmailType property reads/writes vCardEmailAddress email = new vCardEmailAddress(); email.EmailType = vCardEmailAddressType.AttMail; Assert.AreEqual(vCardEmailAddressType.AttMail, email.EmailType); }
/// <summary> /// Utility method to convert email information from the vCard library to a /// WinRT ContactEmail instance. /// No 1:1 matching is possible between both classes, the method tries to /// keep the conversion as accurate as possible. /// </summary> /// <param name="email">Email information from the vCard library.</param> /// <returns>The email information from the vCard library converted to a /// WinRT ContactEmail instance.</returns> private ContactEmail ConvertVcardToEmail(vCardEmailAddress email) { var ce = new ContactEmail { Address = email.Address, Kind = ContactEmailKind.Other // No useful types supported by vCard library }; return(ce); }
public static Email ConvertEmail(vCardEmailAddress x) { var model = new Email { EmailAddress = x.Address, Type = EmailType.Smtp }; return(model); }
public void ReadWriteProperty_IsPreferred() { // Make sure the EmailType property reads/writes vCardEmailAddress email = new vCardEmailAddress(); email.IsPreferred = true; Assert.IsTrue(email.IsPreferred); email.IsPreferred = false; Assert.IsFalse(email.IsPreferred); }
public void ReadWriteProperty_Address() { // Make sure the Address property reads/writes. vCardEmailAddress email = new vCardEmailAddress(); email.Address = TestEmailAddress; Assert.AreEqual( TestEmailAddress, email.Address, "The Address property is not working."); }
public void Constructor_String() { vCardEmailAddress email = new vCardEmailAddress(TestEmailAddress); Assert.AreEqual( TestEmailAddress, email.Address, "The EmailAddress is incorrect."); Assert.AreEqual( vCardEmailAddressType.Internet, email.EmailType, "The EmailType should default to Internet."); }
public void Constructor_String_EmailType() { // Create a non-Internet email address. Note: // currently address formats are not validated. // This means any type can be designated in the // constructor. However, this test may fail if // validation is implemented in the future. vCardEmailAddress email = new vCardEmailAddress( TestEmailAddress, vCardEmailAddressType.eWorld); Assert.AreEqual( TestEmailAddress, email.Address, "The EmailAddress is not correct."); Assert.AreEqual( vCardEmailAddressType.eWorld, email.EmailType, "The EmailType is not correct."); }
/// <summary> /// Asserts that two vCard email addresses are identical. /// </summary> public static void Equals(vCardEmailAddress e1, vCardEmailAddress e2) { Assert.AreEqual( e1.Address, e2.Address, "vCardEmailAddress.Address differs."); Assert.AreEqual( e1.EmailType, e2.EmailType, "vCardEmailAddress.EmailType differs."); Assert.AreEqual( e1.IsPreferred, e2.IsPreferred, "vCardEmailAddress.IsPreferred differs."); Assert.AreEqual( e1.ToString(), e2.ToString(), "vCardEmailAddress.ToString differs."); }
/// <summary> /// Reads an EMAIL property. /// </summary> private void ReadInto_EMAIL(vCard card, vCardProperty property) { vCardEmailAddress email = new vCardEmailAddress(); // The email address is stored as the value of the property. // The format of the address depends on the type of email // address. The current version of the library does not // perform any validation. email.Address = property.Value.ToString(); // Loop through each subproperty and look for flags // that indicate the type of email address. foreach (vCardSubproperty subproperty in property.Subproperties) { switch (subproperty.Name.ToUpperInvariant()) { case "PREF": // The PREF subproperty indicates the email // address is the preferred email address to // use when contacting the person. email.IsPreferred = true; break; case "TYPE": // The TYPE subproperty is new in vCard 3.0. // It identifies the type and can also indicate // the PREF attribute. string[] typeValues = subproperty.Value.Split(new char[] { ',' }); foreach (string typeValue in typeValues) { if (string.Compare("PREF", typeValue, StringComparison.OrdinalIgnoreCase) == 0) { email.IsPreferred = true; } else { vCardEmailAddressType? typeType = DecodeEmailAddressType(typeValue); if (typeType.HasValue) email.EmailType = typeType.Value; } } break; default: // All other subproperties are probably vCard 2.1 // subproperties. This was before the email type // was supposed to be specified with TYPE=VALUE. vCardEmailAddressType? emailType = DecodeEmailAddressType(subproperty.Name); if (emailType.HasValue) email.EmailType = emailType.Value; break; } } card.EmailAddresses.Add(email); }
/// <summary> /// Utility method to convert email information from the vCard library to a /// WinRT ContactEmail instance. /// No 1:1 matching is possible between both classes, the method tries to /// keep the conversion as accurate as possible. /// </summary> /// <param name="email">Email information from the vCard library.</param> /// <returns>The email information from the vCard library converted to a /// WinRT ContactEmail instance.</returns> private ContactEmail ConvertVcardToEmail(vCardEmailAddress email) { var ce = new ContactEmail { Address = email.Address, Kind = ContactEmailKind.Other // No useful types supported by vCard library }; return ce; }
/// <summary> /// Parses a vCard contact /// </summary> /// <param name="vCard"></param> /// <returns></returns> private static Contact ParseVCard(vCard vCard) { Contact contact = new Contact(false); contact.ID = vCard.UniqueId; if (contact.ID == string.Empty) { contact.ID = IDGenerator.GenerateID(); } #region Name { Name name = Name.TryParse(vCard.FormattedName); if (name == null) { name = new Name(); } if (vCard.GivenName != string.Empty) { name.FirstName = vCard.GivenName; } if (vCard.AdditionalNames != string.Empty) { name.MiddleName = vCard.AdditionalNames; } if (vCard.FamilyName != string.Empty) { name.LastName = vCard.FamilyName; } if (vCard.NamePrefix != string.Empty) { name.Title = vCard.NamePrefix; } if (vCard.NameSuffix != string.Empty) { name.Suffix = vCard.NameSuffix; } contact.Name = name; } #endregion #region Delivery Address { vCardDeliveryAddressCollection vAddresses = vCard.DeliveryAddresses; int count = vAddresses.Count; Address[] addresses = new Address[count]; for (int i = 0; i < count; i++) { vCardDeliveryAddress vAddress = vAddresses[i]; Address address = new Address(); address.City = vAddress.City; address.Country = vAddress.Country; address.State = vAddress.Region; address.Street = vAddress.Street.TrimEnd(','); address.ZIP = vAddress.PostalCode; address.Type = vAddress.AddressType.ToString(); addresses[i] = address; } contact.Addresses = addresses; } #endregion #region Email Address { vCardEmailAddressCollection vEmails = vCard.EmailAddresses; int count = vEmails.Count; Email[] emails = new Email[count]; for (int i = 0; i < count; i++) { vCardEmailAddress vEmail = vEmails[i]; Email email = new Email(); email.Address = vEmail.Address; email.Type = vEmail.EmailType.ToString(); emails[i] = email; } contact.Emails = emails; } #endregion #region Website { vCardWebsiteCollection vWebsites = vCard.Websites; int count = vWebsites.Count; Website[] websites = new Website[count]; for (int i = 0; i < count; i++) { vCardWebsite vWebsite = vWebsites[i]; Website website = new Website(); website.Url = vWebsite.Url; website.Type = vWebsite.WebsiteType.ToString(); websites[i] = website; } contact.Websites = websites; } #endregion #region Notes { FlowDocument notes = new FlowDocument(); foreach (vCardNote each in vCard.Notes) { Paragraph para = new Paragraph(new Run(each.Text)); if (each.Language != string.Empty) { try { para.Language = XmlLanguage.GetLanguage(each.Language); } catch { } } notes.Blocks.Add(para); } contact.NotesDocument = notes; } #endregion #region Phone { vCardPhoneCollection vPhones = vCard.Phones; int count = vPhones.Count; PhoneNumber[] phones = new PhoneNumber[count]; for (int i = 0; i < count; i++) { vCardPhone vPhone = vPhones[i]; PhoneNumber phone = new PhoneNumber(); phone.Number = vPhone.FullNumber; phone.Type = InsertSpaces(vPhone.PhoneType.ToString()); phones[i] = phone; } contact.PhoneNumbers = phones; } #endregion if (vCard.BirthDate.HasValue) { contact.SpecialDates = new SpecialDate[] { new SpecialDate("Birthday", vCard.BirthDate.Value) } } ; contact.Private = vCard.AccessClassification.HasFlag(vCardAccessClassification.Confidential) || vCard.AccessClassification.HasFlag(vCardAccessClassification.Private); contact.Work = new Work() { Company = vCard.Organization, Department = vCard.Department, Office = vCard.Office, Title = vCard.Title }; contact.Gender = (Gender)vCard.Gender; if (vCard.IMAddress != string.Empty) { contact.IM = new IM[] { new IM("IM", vCard.IMAddress) } } ; foreach (vCardPhoto photo in vCard.Photos) { if (photo.Url != null) { try { photo.Fetch(); contact.encodeTile(photo.GetBytes()); //contact.Tile = Create96By96Tile(ConvertBytesToBitmapSource(photo.GetBytes())); break; } catch { } } else { contact.encodeTile(photo.GetBytes()); //contact.Tile = Create96By96Tile(ConvertBytesToBitmapSource(photo.GetBytes())); break; } } return(contact); }