示例#1
0
 private void AddProperties(Contact cContact)
 {
     if (this.propertyList != null)
        {
     foreach(string propertyString in this.propertyList)
     {
      Regex p = new Regex(@";");
      IEnumerator propertyTokens = p.Split(propertyString).GetEnumerator();
      while(propertyTokens.MoveNext())
      {
       Regex o = new Regex(@"=");
       IEnumerator propValueTokens = o.Split((string) propertyTokens.Current).GetEnumerator();
       while(propValueTokens.MoveNext())
       {
        string token = (string) propValueTokens.Current;
        token.ToLower();
        if (token.StartsWith("org"))
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Organization = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "blog")
        {
     if (propValueTokens.MoveNext())
     {
      if (verbose == true)
      {
       Console.WriteLine("Updating the blog attribute to: " + (string) propValueTokens.Current);
      }
      cContact.Blog = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "url")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Url = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "title")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Title = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "role")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Role = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "workforceid")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.WorkForceID = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "birthday" || token == "bday")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Birthday = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "email")
        {
     if (propValueTokens.MoveNext())
     {
      Regex x = new Regex(@":");
      IEnumerator enumTokens1 =
       x.Split((string) propValueTokens.Current).GetEnumerator();
      if (enumTokens1.MoveNext())
      {
       EmailTypes eTypes = 0;
       Email cMail = new Email();
       cMail.Address = (string) enumTokens1.Current;
       if (verbose == true)
       {
        Console.WriteLine("Adding email address: " + cMail.Address);
       }
       while(enumTokens1.MoveNext())
       {
        string typeToken = (string) enumTokens1.Current;
        typeToken.ToLower();
        if (typeToken == "preferred")
        {
     if (verbose == true)
     {
      Console.WriteLine("   Preferred");
     }
     cMail.Preferred = true;
        }
        else
        if (typeToken == "work")
        {
     if (verbose == true)
     {
      Console.WriteLine("   Work");
     }
     eTypes |= EmailTypes.work;
        }
        else
        if (typeToken == "personal")
        {
     if (verbose == true)
     {
      Console.WriteLine("   Personal");
     }
     eTypes |= EmailTypes.personal;
        }
        else
        if (typeToken == "other")
        {
     eTypes |= EmailTypes.other;
        }
       }
       if (eTypes != 0)
       {
        cMail.Types = eTypes;
       }
       cContact.AddEmailAddress(cMail);
      }
     }
        }
        else
        if (token == "tel")
        {
     if (propValueTokens.MoveNext())
     {
      Regex x = new Regex(@":");
      IEnumerator enumTokens1 =
       x.Split((string) propValueTokens.Current).GetEnumerator();
      if (enumTokens1.MoveNext())
      {
       PhoneTypes pTypes = 0;
       Telephone cPhone = new Telephone();
       cPhone.Number = (string) enumTokens1.Current;
       if (verbose == true)
       {
        Console.WriteLine("Adding telephone number: " + cPhone.Number);
       }
       while(enumTokens1.MoveNext())
       {
        string typeToken = (string) enumTokens1.Current;
        typeToken.ToLower();
        if (typeToken.StartsWith("pref"))
        {
     if (verbose == true)
     {
      Console.WriteLine("Preferred");
     }
     cPhone.Preferred = true;
        }
        else
        if (typeToken == "work")
        {
     if (verbose == true)
     {
      Console.WriteLine("Work");
     }
     pTypes |= PhoneTypes.work;
        }
        else
        if (typeToken == "home")
        {
     if (verbose == true)
     {
      Console.WriteLine("Home");
     }
     pTypes |= PhoneTypes.home;
        }
        else
        if (typeToken == "other")
        {
     pTypes |= PhoneTypes.other;
        }
        else
        if (typeToken == "msg")
        {
     pTypes |= PhoneTypes.msg;
        }
        else
        if (typeToken == "bbs")
        {
     pTypes |= PhoneTypes.bbs;
        }
        else
        if (typeToken == "car")
        {
     pTypes |= PhoneTypes.car;
        }
        else
        if (typeToken == "cell")
        {
     pTypes |= PhoneTypes.cell;
        }
        else
        if (typeToken == "fax")
        {
     pTypes |= PhoneTypes.fax;
        }
        else
        if (typeToken == "isdn")
        {
     pTypes |= PhoneTypes.isdn;
        }
        else
        if (typeToken == "modem")
        {
     pTypes |= PhoneTypes.modem;
        }
        else
        if (typeToken == "pager")
        {
     pTypes |= PhoneTypes.pager;
        }
        else
        if (typeToken == "pcs")
        {
     pTypes |= PhoneTypes.pcs;
        }
        else
        if (typeToken == "video")
        {
     pTypes |= PhoneTypes.video;
        }
        else
        if (typeToken == "voip")
        {
     pTypes |= PhoneTypes.voip;
        }
       }
       if (pTypes != 0)
       {
        cPhone.Types = pTypes;
       }
       cContact.AddTelephoneNumber(cPhone);
      }
     }
        }
        else
        if (token == "managerid")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.ManagerID = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "note")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Note = (string) propValueTokens.Current;
     }
        }
        else
        if (token == "nickname")
        {
     if (propValueTokens.MoveNext())
     {
      cContact.Nickname = (string) propValueTokens.Current;
     }
        }
       }
      }
     }
     cContact.Commit();
        }
 }