예제 #1
0
        /// <summary>
        /// Add new email address to the collection.
        /// </summary>
        /// <param name="type">Email address type. Note: This value can be flagged value !</param>
        /// <param name="email">Email address.</param>
        public EmailAddress Add(EmailAddressType_enum type,string email)
        {            
            Item item = m_pOwner.Items.Add("EMAIL",EmailAddress.EmailTypeToString(type),"");
            item.SetDecodedValue(email);
            EmailAddress emailAddress = new EmailAddress(item,type,email);
            m_pCollection.Add(emailAddress);

            return emailAddress;
        }
예제 #2
0
        /// <summary>
        /// Add new email address to the collection.
        /// </summary>
        /// <param name="type">Email address type. Note: This value can be flagged value !</param>
        /// <param name="email">Email address.</param>
        public EmailAddress Add(EmailAddressType_enum type, string email)
        {
            Item item = m_pOwner.Items.Add("EMAIL", EmailAddress.EmailTypeToString(type), "");

            item.SetDecodedValue(email);
            EmailAddress emailAddress = new EmailAddress(item, type, email);

            m_pCollection.Add(emailAddress);

            return(emailAddress);
        }
        /// <summary>
        /// Parses email address from vCard EMAIL structure string.
        /// </summary>
        /// <param name="item">vCard EMAIL item.</param>
        internal static EmailAddress Parse(Item item)
        {
            EmailAddressType_enum type = EmailAddressType_enum.NotSpecified;
            if(item.ParametersString.ToUpper().IndexOf("PREF") != -1){
                type |= EmailAddressType_enum.Preferred;
            }
            if(item.ParametersString.ToUpper().IndexOf("INTERNET") != -1){
                type |= EmailAddressType_enum.Internet;
            }
            if(item.ParametersString.ToUpper().IndexOf("X400") != -1){
                type |= EmailAddressType_enum.X400;
            }

            return new EmailAddress(item,type,item.DecodedValue);
        }
예제 #4
0
파일: EmailAddress.cs 프로젝트: dioptre/nkd
        /// <summary>
        /// Converts EmailAddressType_enum to vCard item parameters string.
        /// </summary>
        /// <param name="type">Value to convert.</param>
        /// <returns></returns>
        internal static string EmailTypeToString(EmailAddressType_enum type)
        {
            string retVal = "";
            if((type & EmailAddressType_enum.Internet) != 0){
                retVal += "INTERNET,";
            }
            if((type & EmailAddressType_enum.Preferred) != 0){
                retVal += "PREF,";
            }
            if((type & EmailAddressType_enum.X400) != 0){
                retVal += "X400,";
            }
            if(retVal.EndsWith(",")){
                retVal = retVal.Substring(0,retVal.Length - 1);
            }

            return retVal;
        }
        /// <summary>
        /// Converts EmailAddressType_enum to vCard item parameters string.
        /// </summary>
        /// <param name="type">Value to convert.</param>
        /// <returns></returns>
        internal static string EmailTypeToString(EmailAddressType_enum type)
        {
            string retVal = "";
            if((type & EmailAddressType_enum.Internet) != 0){
                retVal += "INTERNET,";
            }
            if((type & EmailAddressType_enum.Preferred) != 0){
                retVal += "PREF,";
            }
            if((type & EmailAddressType_enum.X400) != 0){
                retVal += "X400,";
            }
            if(retVal.EndsWith(",")){
                retVal = retVal.Substring(0,retVal.Length - 1);
            }

            return retVal;
        }
예제 #6
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="item">Owner vCard item.</param>
 /// <param name="type">Email type. Note: This value can be flagged value !</param>
 /// <param name="emailAddress">Email address.</param>
 internal EmailAddress(Item item, EmailAddressType_enum type, string emailAddress)
 {
     m_pItem        = item;
     m_Type         = type;
     m_EmailAddress = emailAddress;
 }
예제 #7
0
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="item">Owner vCard item.</param>
 /// <param name="type">Email type. Note: This value can be flagged value !</param>
 /// <param name="emailAddress">Email address.</param>
 internal EmailAddress(Item item, EmailAddressType_enum type, string emailAddress)
 {
     m_pItem = item;
     m_Type = type;
     m_EmailAddress = emailAddress;
 }