Пример #1
0
        private static void AddAddress(vCard card, string line)
        {
            string val  = ActiveUp.Net.Groupware.vCard.Parser.Unescape(line.Replace(line.Split(':')[0] + ":", ""));
            string type = line.Split(':')[0].ToUpper();

            if (type.IndexOf("ENCODING=QUOTED-PRINTABLE") != -1)
            {
                val = FromQuotedPrintable(val, "utf-8");
            }
            if (type.IndexOf("ENCODING=B") != -1)
            {
                byte[] data = System.Convert.FromBase64String(val);
                val = System.Text.Encoding.UTF8.GetString(data, 0, data.Length);
            }
            string[] values = val.Split(';');
            ActiveUp.Net.Groupware.vCard.Address adr = new ActiveUp.Net.Groupware.vCard.Address();
            if (values.Length > 0 && values[0].Length > 0)
            {
                adr.POBox = System.Convert.ToInt32(values[0]);
            }
            if (values.Length > 1 && values[1].Length > 0)
            {
                adr.ExtendedAddress = values[1];
            }
            if (values.Length > 2 && values[2].Length > 0)
            {
                adr.StreetAddress = values[2];
            }
            if (values.Length > 3 && values[3].Length > 0)
            {
                adr.Locality = values[3];
            }
            if (values.Length > 4 && values[4].Length > 0)
            {
                adr.Region = values[4];
            }
            if (values.Length > 5 && values[5].Length > 0)
            {
                adr.PostalCode = values[5];
            }
            if (values.Length > 6 && values[6].Length > 0)
            {
                adr.Country = values[6];
            }
            string parameters = line.Split(':')[0].ToUpper();

            if (parameters.IndexOf("DOM") != -1)
            {
                adr.IsDomestic = true;
            }
            if (parameters.IndexOf("INTL") != -1)
            {
                adr.IsInternational = true;
            }
            if (parameters.IndexOf("POSTAL") != -1)
            {
                adr.IsPostal = true;
            }
            if (parameters.IndexOf("PARCEL") != -1)
            {
                adr.IsParcel = true;
            }
            if (parameters.IndexOf("HOME") != -1)
            {
                adr.IsHome = true;
            }
            if (parameters.IndexOf("WORK") != -1)
            {
                adr.IsWork = true;
            }
            if (parameters.IndexOf("PREF") != -1)
            {
                adr.IsPrefered = true;
            }
            card.Addresses.Add(adr);
        }
Пример #2
0
		private static void AddAddress(vCard card, string line)
		{
			string val = ActiveUp.Net.Groupware.vCard.Parser.Unescape(line.Replace(line.Split(':')[0]+":",""));
			string type = line.Split(':')[0].ToUpper();
			if(type.IndexOf("ENCODING=QUOTED-PRINTABLE")!=-1) val = FromQuotedPrintable(val,"utf-8");
            if (type.IndexOf("ENCODING=B") != -1)
            {
                byte[] data = System.Convert.FromBase64String(val);
                val = System.Text.Encoding.UTF8.GetString(data,0,data.Length);
            }
			string[] values = val.Split(';');
			ActiveUp.Net.Groupware.vCard.Address adr = new ActiveUp.Net.Groupware.vCard.Address();
            if (values.Length > 0 && values[0].Length > 0) adr.POBox = System.Convert.ToInt32(values[0]);
            if (values.Length > 1 && values[1].Length > 0) adr.ExtendedAddress = values[1];
			if (values.Length > 2 && values[2].Length>0) adr.StreetAddress = values[2];
            if (values.Length > 3 && values[3].Length > 0) adr.Locality = values[3];
            if (values.Length > 4 && values[4].Length > 0) adr.Region = values[4];
            if (values.Length > 5 && values[5].Length > 0) adr.PostalCode = values[5];
            if (values.Length > 6 && values[6].Length > 0) adr.Country = values[6];
			string parameters = line.Split(':')[0].ToUpper();
			if(parameters.IndexOf("DOM")!=-1) adr.IsDomestic = true;
			if(parameters.IndexOf("INTL")!=-1) adr.IsInternational = true;
			if(parameters.IndexOf("POSTAL")!=-1) adr.IsPostal = true;
			if(parameters.IndexOf("PARCEL")!=-1) adr.IsParcel = true;
			if(parameters.IndexOf("HOME")!=-1) adr.IsHome = true;
			if(parameters.IndexOf("WORK")!=-1) adr.IsWork = true;
			if(parameters.IndexOf("PREF")!=-1) adr.IsPrefered = true;
			card.Addresses.Add(adr);
		}
 public void Add(ActiveUp.Net.Groupware.vCard.Address address)
 {
     this.List.Add(address);
 }