/// <summary> /// Add new delivery address to the collection. /// </summary> /// <param name="type">Delivery address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> public void Add(DeliveryAddressType_enum type, string postOfficeAddress, string extendedAddress, string street, string locality, string region, string postalCode, string country) { string value = "" + postOfficeAddress + ";" + extendedAddress + ";" + street + ";" + locality + ";" + region + ";" + postalCode + ";" + country; Item item = m_pOwner.Items.Add("ADR", DeliveryAddress.AddressTypeToString(type), ""); item.SetDecodedValue(value); m_pCollection.Add(new DeliveryAddress(item, type, postOfficeAddress, extendedAddress, street, locality, region, postalCode, country)); }
/// <summary> /// Default constructor. /// </summary> /// <param name="item">Owner vCard item.</param> /// <param name="addressType">Address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> internal DeliveryAddress(Item item, DeliveryAddressType_enum addressType, string postOfficeAddress, string extendedAddress, string street, string locality, string region, string postalCode, string country) { m_pItem = item; m_Type = addressType; m_PostOfficeAddress = postOfficeAddress; m_ExtendedAddress = extendedAddress; m_Street = street; m_Locality = locality; m_Region = region; m_PostalCode = postalCode; m_Country = country; }
/// <summary> /// Default constructor. /// </summary> /// <param name="item">Owner vCard item.</param> /// <param name="addressType">Address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> internal DeliveryAddress(Item item,DeliveryAddressType_enum addressType,string postOfficeAddress,string extendedAddress,string street,string locality,string region,string postalCode,string country) { m_pItem = item; m_Type = addressType; m_PostOfficeAddress = postOfficeAddress; m_ExtendedAddress = extendedAddress; m_Street = street; m_Locality = locality; m_Region = region; m_PostalCode = postalCode; m_Country = country; }
/// <summary> /// Add new delivery address to the collection. /// </summary> /// <param name="type">Delivery address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> public void Add(DeliveryAddressType_enum type,string postOfficeAddress,string extendedAddress,string street,string locality,string region,string postalCode,string country) { string value = "" + postOfficeAddress + ";" + extendedAddress + ";" + street + ";" + locality + ";" + region + ";" + postalCode + ";" + country; Item item = m_pOwner.Items.Add("ADR",DeliveryAddress.AddressTypeToString(type),""); item.SetDecodedValue(value); m_pCollection.Add(new DeliveryAddress(item,type,postOfficeAddress,extendedAddress,street,locality,region,postalCode,country)); }
/// <summary> /// Parses delivery address from vCard ADR structure string. /// </summary> /// <param name="item">vCard ADR item.</param> internal static DeliveryAddress Parse(Item item) { DeliveryAddressType_enum type = DeliveryAddressType_enum.NotSpecified; if (item.ParametersString.ToUpper().IndexOf("PREF") != -1) { type |= DeliveryAddressType_enum.Preferred; } if (item.ParametersString.ToUpper().IndexOf("DOM") != -1) { type |= DeliveryAddressType_enum.Domestic; } if (item.ParametersString.ToUpper().IndexOf("INTL") != -1) { type |= DeliveryAddressType_enum.Ineternational; } if (item.ParametersString.ToUpper().IndexOf("POSTAL") != -1) { type |= DeliveryAddressType_enum.Postal; } if (item.ParametersString.ToUpper().IndexOf("PARCEL") != -1) { type |= DeliveryAddressType_enum.Parcel; } if (item.ParametersString.ToUpper().IndexOf("HOME") != -1) { type |= DeliveryAddressType_enum.Home; } if (item.ParametersString.ToUpper().IndexOf("WORK") != -1) { type |= DeliveryAddressType_enum.Work; } string[] items = item.DecodedValue.Split(';'); return(new DeliveryAddress( item, type, items.Length >= 1 ? items[0] : "", items.Length >= 2 ? items[1] : "", items.Length >= 3 ? items[2] : "", items.Length >= 4 ? items[3] : "", items.Length >= 5 ? items[4] : "", items.Length >= 6 ? items[5] : "", items.Length >= 7 ? items[6] : "" )); }
/// <summary> /// Add new delivery address to the collection. /// </summary> /// <param name="type">Delivery address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> public void Add(DeliveryAddressType_enum type,string postOfficeAddress,string extendedAddress,string street,string locality,string region,string postalCode,string country) { string value = "" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,postOfficeAddress) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,extendedAddress) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,street) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,locality) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,region) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,postalCode) + ";" + vCard_Utils.Encode(m_pOwner.Version,m_pOwner.Charset,country); Item item = m_pOwner.Items.Add("ADR",DeliveryAddress.AddressTypeToString(type),""); item.FoldLongLines = false; if(m_pOwner.Version.StartsWith("2")){ item.ParametersString += ";ENCODING=QUOTED-PRINTABLE"; } item.ParametersString += ";CHARSET=" + m_pOwner.Charset.WebName; item.Value = value; m_pCollection.Add(new DeliveryAddress(item,type,postOfficeAddress,extendedAddress,street,locality,region,postalCode,country)); }
/// <summary> /// Converts DeliveryAddressType_enum to vCard item parameters string. /// </summary> /// <param name="type">Value to convert.</param> /// <returns></returns> internal static string AddressTypeToString(DeliveryAddressType_enum type) { string retVal = ""; if ((type & DeliveryAddressType_enum.Domestic) != 0) { retVal += "DOM,"; } if ((type & DeliveryAddressType_enum.Home) != 0) { retVal += "HOME,"; } if ((type & DeliveryAddressType_enum.Ineternational) != 0) { retVal += "INTL,"; } if ((type & DeliveryAddressType_enum.Parcel) != 0) { retVal += "PARCEL,"; } if ((type & DeliveryAddressType_enum.Postal) != 0) { retVal += "POSTAL,"; } if ((type & DeliveryAddressType_enum.Preferred) != 0) { retVal += "Preferred,"; } if ((type & DeliveryAddressType_enum.Work) != 0) { retVal += "Work,"; } if (retVal.EndsWith(",")) { retVal = retVal.Substring(0, retVal.Length - 1); } return(retVal); }
/// <summary> /// Add new delivery address to the collection. /// </summary> /// <param name="type">Delivery address type. Note: This value can be flagged value !</param> /// <param name="postOfficeAddress">Post office address.</param> /// <param name="extendedAddress">Extended address.</param> /// <param name="street">Street name.</param> /// <param name="locality">Locality(city).</param> /// <param name="region">Region.</param> /// <param name="postalCode">Postal code.</param> /// <param name="country">Country.</param> public void Add(DeliveryAddressType_enum type, string postOfficeAddress, string extendedAddress, string street, string locality, string region, string postalCode, string country) { string value = "" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, postOfficeAddress) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, extendedAddress) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, street) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, locality) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, region) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, postalCode) + ";" + vCard_Utils.Encode(m_pOwner.Version, m_pOwner.Charset, country); Item item = m_pOwner.Items.Add("ADR", DeliveryAddress.AddressTypeToString(type), ""); item.FoldLongLines = false; if (m_pOwner.Version.StartsWith("2")) { item.ParametersString += ";ENCODING=QUOTED-PRINTABLE"; } item.ParametersString += ";CHARSET=" + m_pOwner.Charset.WebName; item.Value = value; m_pCollection.Add(new DeliveryAddress(item, type, postOfficeAddress, extendedAddress, street, locality, region, postalCode, country)); }
/// <summary> /// Converts DeliveryAddressType_enum to vCard item parameters string. /// </summary> /// <param name="type">Value to convert.</param> /// <returns></returns> internal static string AddressTypeToString(DeliveryAddressType_enum type) { string retVal = ""; if((type & DeliveryAddressType_enum.Domestic) != 0){ retVal += "DOM,"; } if((type & DeliveryAddressType_enum.Home) != 0){ retVal += "HOME,"; } if((type & DeliveryAddressType_enum.Ineternational) != 0){ retVal += "INTL,"; } if((type & DeliveryAddressType_enum.Parcel) != 0){ retVal += "PARCEL,"; } if((type & DeliveryAddressType_enum.Postal) != 0){ retVal += "POSTAL,"; } if((type & DeliveryAddressType_enum.Preferred) != 0){ retVal += "Preferred,"; } if((type & DeliveryAddressType_enum.Work) != 0){ retVal += "Work,"; } if(retVal.EndsWith(",")){ retVal = retVal.Substring(0,retVal.Length - 1); } return retVal; }