public static ActiveUp.Net.Groupware.vCard.vCard Parse(string data) { ActiveUp.Net.Groupware.vCard.vCard card = new ActiveUp.Net.Groupware.vCard.vCard(); data = ActiveUp.Net.Groupware.vCard.Parser.Unfold(data); data = data.Replace("\\,","²²²COMMA²²²"); data = data.Replace("\\;","²²²SEMICOLON²²²"); foreach(string line in System.Text.RegularExpressions.Regex.Split(data,"\r\n")) { string fulltype = line.Split(':')[0]; string type = fulltype.Split(';')[0].ToUpper(); switch(type) { case "NAME": Parser.SetDisplayName(card,line); break; case "FN": Parser.SetFullName(card,line); break; case "N": Parser.SetName(card,line); break; case "NICKNAME": Parser.SetNickName(card,line); break; case "SOURCE": Parser.SetSource(card,line); break; case "MAILER": Parser.SetMailer(card,line); break; case "TZ": Parser.SetTimeZone(card,line); break; case "TITLE": Parser.SetTitle(card,line); break; case "ROLE": Parser.SetRole(card,line); break; case "NOTE": Parser.SetNote(card,line); break; case "PRODID": Parser.SetGeneratorId(card,line); break; case "SORT-STRING": Parser.SetSortText(card,line); break; case "UID": Parser.SetUid(card,line); break; case "URL": Parser.SetUrl(card,line); break; case "VERSION": Parser.SetVersion(card,line); break; case "CLASS": Parser.SetAccessClass(card,line); break; case "ADR": Parser.AddAddress(card,line); break; case "TEL": Parser.AddTelephoneNumber(card,line); break; case "LABEL": Parser.AddLabel(card,line); break; case "EMAIL": Parser.AddEmail(card,line); break; case "BDAY": Parser.SetBirthday(card,line); break; case "REV": Parser.SetRevision(card,line); break; case "ORG": Parser.SetOrganization(card,line); break; case "CATEGORIES": Parser.SetCategories(card,line); break; case "PHOTO": Parser.SetPhoto(card,line); break; case "SOUND": Parser.SetSound(card,line); break; case "LOGO": Parser.SetLogo(card,line); break; case "KEY": Parser.SetKey(card,line); break; case "GEO": Parser.SetGeo(card,line); break; } } return card; }
public static ActiveUp.Net.Groupware.vCard.vCard Parse(string data) { ActiveUp.Net.Groupware.vCard.vCard card = new ActiveUp.Net.Groupware.vCard.vCard(); data = ActiveUp.Net.Groupware.vCard.Parser.Unfold(data); data = data.Replace("\\,", "²²²COMMA²²²"); data = data.Replace("\\;", "²²²SEMICOLON²²²"); foreach (string line in System.Text.RegularExpressions.Regex.Split(data, "\r\n")) { string fulltype = line.Split(':')[0]; string type = fulltype.Split(';')[0].ToUpper(); switch (type) { case "NAME": Parser.SetDisplayName(card, line); break; case "FN": Parser.SetFullName(card, line); break; case "N": Parser.SetName(card, line); break; case "NICKNAME": Parser.SetNickName(card, line); break; case "SOURCE": Parser.SetSource(card, line); break; case "MAILER": Parser.SetMailer(card, line); break; case "TZ": Parser.SetTimeZone(card, line); break; case "TITLE": Parser.SetTitle(card, line); break; case "ROLE": Parser.SetRole(card, line); break; case "NOTE": Parser.SetNote(card, line); break; case "PRODID": Parser.SetGeneratorId(card, line); break; case "SORT-STRING": Parser.SetSortText(card, line); break; case "UID": Parser.SetUid(card, line); break; case "URL": Parser.SetUrl(card, line); break; case "VERSION": Parser.SetVersion(card, line); break; case "CLASS": Parser.SetAccessClass(card, line); break; case "ADR": Parser.AddAddress(card, line); break; case "TEL": Parser.AddTelephoneNumber(card, line); break; case "LABEL": Parser.AddLabel(card, line); break; case "EMAIL": Parser.AddEmail(card, line); break; case "BDAY": Parser.SetBirthday(card, line); break; case "REV": Parser.SetRevision(card, line); break; case "ORG": Parser.SetOrganization(card, line); break; case "CATEGORIES": Parser.SetCategories(card, line); break; case "PHOTO": Parser.SetPhoto(card, line); break; case "SOUND": Parser.SetSound(card, line); break; case "LOGO": Parser.SetLogo(card, line); break; case "KEY": Parser.SetKey(card, line); break; case "GEO": Parser.SetGeo(card, line); break; } } return(card); }