示例#1
0
        /// <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));
        }
示例#2
0
 /// <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;
 }
示例#3
0
 /// <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));
        }
示例#5
0
        /// <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));
        }
示例#7
0
        /// <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);
        }
示例#8
0
        /// <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));
        }
示例#9
0
        /// <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;
        }