CalDavSynchronizer.ThoughtvCardWorkaround.vCardImprovedWriter.BuildProperties_EMAIL C# (CSharp) Метод

BuildProperties_EMAIL() приватный Метод

Builds EMAIL properties.
private BuildProperties_EMAIL ( vCardPropertyCollection properties, Thought.vCards.vCard card ) : void
properties vCardPropertyCollection
card Thought.vCards.vCard
Результат void
      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);

        }

      }