/// <summary> /// Default constructor. /// </summary> /// <param name="item">Owner vCard item.</param> /// <param name="type">Phone number type. Note: This value can be flagged value !</param> /// <param name="number">Phone number.</param> internal PhoneNumber(Item item, PhoneNumberType_enum type, string number) { m_pItem = item; m_Type = type; m_Number = number; }
/// <summary> /// Parses phone from vCard TEL structure string. /// </summary> /// <param name="item">vCard TEL item.</param> internal static PhoneNumber Parse(Item item) { PhoneNumberType_enum type = PhoneNumberType_enum.NotSpecified; if (item.ParametersString.ToUpper().IndexOf("PREF") != -1) { type |= PhoneNumberType_enum.Preferred; } if (item.ParametersString.ToUpper().IndexOf("HOME") != -1) { type |= PhoneNumberType_enum.Home; } if (item.ParametersString.ToUpper().IndexOf("MSG") != -1) { type |= PhoneNumberType_enum.Msg; } if (item.ParametersString.ToUpper().IndexOf("WORK") != -1) { type |= PhoneNumberType_enum.Work; } if (item.ParametersString.ToUpper().IndexOf("VOICE") != -1) { type |= PhoneNumberType_enum.Voice; } if (item.ParametersString.ToUpper().IndexOf("FAX") != -1) { type |= PhoneNumberType_enum.Fax; } if (item.ParametersString.ToUpper().IndexOf("CELL") != -1) { type |= PhoneNumberType_enum.Cellular; } if (item.ParametersString.ToUpper().IndexOf("VIDEO") != -1) { type |= PhoneNumberType_enum.Video; } if (item.ParametersString.ToUpper().IndexOf("PAGER") != -1) { type |= PhoneNumberType_enum.Pager; } if (item.ParametersString.ToUpper().IndexOf("BBS") != -1) { type |= PhoneNumberType_enum.BBS; } if (item.ParametersString.ToUpper().IndexOf("MODEM") != -1) { type |= PhoneNumberType_enum.Modem; } if (item.ParametersString.ToUpper().IndexOf("CAR") != -1) { type |= PhoneNumberType_enum.Car; } if (item.ParametersString.ToUpper().IndexOf("ISDN") != -1) { type |= PhoneNumberType_enum.ISDN; } if (item.ParametersString.ToUpper().IndexOf("PCS") != -1) { type |= PhoneNumberType_enum.PCS; } return(new PhoneNumber(item, type, item.Value)); }
/// <summary> /// Converts PhoneNumberType_enum to vCard item parameters string. /// </summary> /// <param name="type">Value to convert.</param> /// <returns></returns> internal static string PhoneTypeToString(PhoneNumberType_enum type) { string retVal = ""; if ((type & PhoneNumberType_enum.BBS) != 0) { retVal += "BBS,"; } if ((type & PhoneNumberType_enum.Car) != 0) { retVal += "CAR,"; } if ((type & PhoneNumberType_enum.Cellular) != 0) { retVal += "CELL,"; } if ((type & PhoneNumberType_enum.Fax) != 0) { retVal += "FAX,"; } if ((type & PhoneNumberType_enum.Home) != 0) { retVal += "HOME,"; } if ((type & PhoneNumberType_enum.ISDN) != 0) { retVal += "ISDN,"; } if ((type & PhoneNumberType_enum.Modem) != 0) { retVal += "MODEM,"; } if ((type & PhoneNumberType_enum.Msg) != 0) { retVal += "MSG,"; } if ((type & PhoneNumberType_enum.Pager) != 0) { retVal += "PAGER,"; } if ((type & PhoneNumberType_enum.PCS) != 0) { retVal += "PCS,"; } if ((type & PhoneNumberType_enum.Preferred) != 0) { retVal += "PREF,"; } if ((type & PhoneNumberType_enum.Video) != 0) { retVal += "VIDEO,"; } if ((type & PhoneNumberType_enum.Voice) != 0) { retVal += "VOICE,"; } if ((type & PhoneNumberType_enum.Work) != 0) { retVal += "WORK,"; } if (retVal.EndsWith(",")) { retVal = retVal.Substring(0, retVal.Length - 1); } return(retVal); }
/// <summary> /// Add new phone number to the collection. /// </summary> /// <param name="type">Phone number type. Note: This value can be flagged value !</param> /// <param name="number">Phone number.</param> public void Add(PhoneNumberType_enum type,string number) { Item item = m_pOwner.Items.Add("TEL",PhoneNumber.PhoneTypeToString(type),number); m_pCollection.Add(new PhoneNumber(item,type,number)); }
/// <summary> /// Add new phone number to the collection. /// </summary> /// <param name="type">Phone number type. Note: This value can be flagged value !</param> /// <param name="number">Phone number.</param> public void Add(PhoneNumberType_enum type, string number) { Item item = m_pOwner.Items.Add("TEL", PhoneNumber.PhoneTypeToString(type), number); m_pCollection.Add(new PhoneNumber(item, type, number)); }
/// <summary> /// Converts PhoneNumberType_enum to vCard item parameters string. /// </summary> /// <param name="type">Value to convert.</param> /// <returns></returns> internal static string PhoneTypeToString(PhoneNumberType_enum type) { string retVal = ""; if ((type & PhoneNumberType_enum.BBS) != 0) { retVal += "BBS,"; } if ((type & PhoneNumberType_enum.Car) != 0) { retVal += "CAR,"; } if ((type & PhoneNumberType_enum.Cellular) != 0) { retVal += "CELL,"; } if ((type & PhoneNumberType_enum.Fax) != 0) { retVal += "FAX,"; } if ((type & PhoneNumberType_enum.Home) != 0) { retVal += "HOME,"; } if ((type & PhoneNumberType_enum.ISDN) != 0) { retVal += "ISDN,"; } if ((type & PhoneNumberType_enum.Modem) != 0) { retVal += "MODEM,"; } if ((type & PhoneNumberType_enum.Msg) != 0) { retVal += "MSG,"; } if ((type & PhoneNumberType_enum.Pager) != 0) { retVal += "PAGER,"; } if ((type & PhoneNumberType_enum.PCS) != 0) { retVal += "PCS,"; } if ((type & PhoneNumberType_enum.Preferred) != 0) { retVal += "PREF,"; } if ((type & PhoneNumberType_enum.Video) != 0) { retVal += "VIDEO,"; } if ((type & PhoneNumberType_enum.Voice) != 0) { retVal += "VOICE,"; } if ((type & PhoneNumberType_enum.Work) != 0) { retVal += "WORK,"; } if (retVal.EndsWith(",")) { retVal = retVal.Substring(0, retVal.Length - 1); } return retVal; }