- if (PropertyName == wxT("LABEL")){
-
- AddressListLabel->erase(*AddressCount);
- AddressListLabel->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("LANGUAGE")){
-
- AddressListLang->erase(*AddressCount);
- AddressListLang->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("ALTID")){
-
- AddressListAltID->erase(*AddressCount);
- AddressListAltID->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("PID")){
-
- AddressListPID->erase(*AddressCount);
- AddressListPID->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("GEO")){
-
- AddressListGeo->erase(*AddressCount);
- AddressListGeo->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("TZ")){
-
- AddressListTimezone->erase(*AddressCount);
- AddressListTimezone->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("MEDIATYPE")){
-
- AddressListMediatype->erase(*AddressCount);
- AddressListMediatype->insert(std::make_pair(*AddressCount, PropertyValue));
-
- } else if (PropertyName == wxT("PREF")){
-
- int PriorityNumber = 0;
- bool ValidNumber = TRUE;
-
- try{
- PriorityNumber = std::stoi(PropertyValue.ToStdString());
- }
-
- catch(std::invalid_argument &e){
- ValidNumber = FALSE;
- }
-
- if (ValidNumber == TRUE){
-
- AddressListPref->erase(*AddressCount);
- AddressListPref->insert(std::make_pair(*AddressCount, PriorityNumber));
-
- }
+ ProcessStringValue(&PropertyName, "LABEL", AddressListLabel, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "LANGUAGE", AddressListLang, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "ALTID", AddressListAltID, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "PID", AddressListPID, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "GEO", AddressListGeo, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "TZ", AddressListTimezone, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessStringValue(&PropertyName, "MEDIATYPE", AddressListMediatype, &PropertyValue, AddressCount, &PropertyMatched);
+ ProcessIntegerValue(&PropertyName, "PREF", AddressListPref, &PropertyValue, AddressCount, &PropertyMatched);