private void AddNameProperty(Contact cContact) { if (this.propertyList != null) { Name tmpName = new Name(); 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("pref")) { tmpName.Preferred = true; } else if (token == "prefix") { if (propValueTokens.MoveNext()) { tmpName.Prefix = (string) propValueTokens.Current; } } else if (token == "given") { if (propValueTokens.MoveNext()) { if (verbose == true) { Console.WriteLine("Given Name: " + (string) propValueTokens.Current); } tmpName.Given = (string) propValueTokens.Current; } } else if (token == "family") { if (propValueTokens.MoveNext()) { if (verbose == true) { Console.WriteLine("Family Name: " + (string) propValueTokens.Current); } tmpName.Family = (string) propValueTokens.Current; } } else if (token == "other") { if (propValueTokens.MoveNext()) { tmpName.Other = (string) propValueTokens.Current; } } else if (token == "suffix") { if (propValueTokens.MoveNext()) { tmpName.Suffix = (string) propValueTokens.Current; } } } } } if (tmpName.Given != "" && tmpName.Family != "") { if (verbose == true) { Console.WriteLine("Adding name object to contact"); } cContact.AddName(tmpName); } cContact.Commit(); } }