private void BuildProperties_EMAIL(
vCardPropertyCollection properties,
vCard card)
{
// The EMAIL property contains an electronic
// mail address for the purpose. A vCard may contain
// as many email addresses as needed. The format also
// supports various vendors, such as CompuServe addresses
// and Internet SMTP addresses.
//
// EMAIL;INTERNET:[email protected]
foreach (vCardEmailAddress emailAddress in card.EmailAddresses)
{
vCardProperty property = new vCardProperty();
property.Name = "EMAIL";
property.Value = emailAddress.Address;
if (emailAddress.IsPreferred)
{
property.Subproperties.Add("TYPE","PREF");
}
switch (emailAddress.EmailType)
{
case vCardEmailAddressType.Internet:
property.Subproperties.Add("TYPE", "INTERNET");
break;
case vCardEmailAddressType.AOL:
property.Subproperties.Add("TYPE", "AOL");
break;
case vCardEmailAddressType.AppleLink:
property.Subproperties.Add("TYPE", "AppleLink");
break;
case vCardEmailAddressType.AttMail:
property.Subproperties.Add("TYPE", "ATTMail");
break;
case vCardEmailAddressType.CompuServe:
property.Subproperties.Add("TYPE", "CIS");
break;
case vCardEmailAddressType.eWorld:
property.Subproperties.Add("TYPE", "eWorld");
break;
case vCardEmailAddressType.IBMMail:
property.Subproperties.Add("TYPE", "IBMMail");
break;
case vCardEmailAddressType.MCIMail:
property.Subproperties.Add("TYPE", "MCIMail");
break;
case vCardEmailAddressType.PowerShare:
property.Subproperties.Add("TYPE", "POWERSHARE");
break;
case vCardEmailAddressType.Prodigy:
property.Subproperties.Add("TYPE", "PRODIGY");
break;
case vCardEmailAddressType.Telex:
property.Subproperties.Add("TYPE", "TLX");
break;
case vCardEmailAddressType.X400:
property.Subproperties.Add("TYPE", "X400");
break;
default:
property.Subproperties.Add("TYPE", "INTERNET");
break;
}
switch (emailAddress.ItemType)
{
case ItemType.HOME:
property.Subproperties.Add("TYPE", "HOME");
break;
case ItemType.WORK:
property.Subproperties.Add("TYPE", "WORK");
break;
}
properties.Add(property);
}
}