private void BuildProperties_TEL(
vCardPropertyCollection properties,
vCard card)
{
// The TEL property indicates a telephone number of
// the person (including non-voice numbers like fax
// and BBS numbers).
//
// TEL;VOICE;WORK:1-800-929-5805
foreach (vCardPhone phone in card.Phones)
{
// A telephone entry has the property name TEL and
// can have zero or more subproperties like FAX
// or HOME. Examples:
//
// TEL;HOME:+1-612-555-1212
// TEL;FAX;HOME:+1-612-555-1212
vCardProperty property = new vCardProperty();
property.Name = "TEL";
if (phone.IsBBS)
property.Subproperties.Add("TYPE", "BBS");
if (phone.IsCar)
property.Subproperties.Add("TYPE", "CAR");
if (phone.IsCellular)
property.Subproperties.Add("TYPE", "CELL");
if (phone.IsFax)
{
if (!phone.IsHome && !phone.IsWork)
{
property.Subproperties.Add("TYPE", "OTHER");
}
property.Subproperties.Add("TYPE", "FAX");
}
if (phone.IsHome)
property.Subproperties.Add("TYPE", "HOME");
if (phone.IsISDN)
property.Subproperties.Add("TYPE", "ISDN");
if (phone.IsMessagingService)
property.Subproperties.Add("TYPE", "MSG");
if (phone.IsModem)
property.Subproperties.Add("TYPE", "MODEM");
if (phone.IsPager)
property.Subproperties.Add("TYPE", "PAGER");
if (phone.IsPreferred)
property.Subproperties.Add("TYPE", "PREF");
if (phone.IsVideo)
property.Subproperties.Add("TYPE", "VIDEO");
if (phone.IsVoice)
{
if (!phone.IsHome && !phone.IsWork)
{
property.Subproperties.Add("TYPE", "OTHER");
}
property.Subproperties.Add("TYPE", "VOICE");
}
if (phone.IsWork)
property.Subproperties.Add("TYPE", "WORK");
if (phone.IsMain)
property.Subproperties.Add("TYPE", "MAIN");
property.Value = phone.FullNumber;
properties.Add(property);
}
}