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(); } }