QRCoder icon indicating copy to clipboard operation
QRCoder copied to clipboard

Issue with generation for Address within Kosovo

Open hellmer1234 opened this issue 3 years ago • 1 comments

Type of issue

[ X ] Bug
[ ] Question (e.g. about handling/usage)
[ ] Request for new feature/improvement

Expected Behavior

When i put XK as country code within a contact address, i could generate a valid swissQRCode as XK is a valid ISO 3166-1 alpha-2 code for Kosovo (https://laendercode.net/fr/country/xk)

Current Behavior

When trying to use XK as country code, i encounter the following error : Country must be a valid "two letter" country code as defined by ISO 3166-1, but it isn't. Stacktrace: at QRCoder.PayloadGenerator.SwissQrCode.Contact..ctor(String name, String zipCode, String city, String country, String streetOrAddressline1, String houseNumberOrAddressline2, AddressType addressType)

Possible Solution (optional)

In private static HashSet ValidTwoLetterCodes() add the ISO-3166-1 code for Kosovo (as describe here :https://laendercode.net/fr/country/xk)

Steps to Reproduce (for bugs)

When trying the following strings in the payload, i encounter an error :

  • Country : XK

Your Environment

  • Compiled from source or NuGet package?: Nuget Package
  • Version used : QRCoder 1.3.9

hellmer1234 avatar Sep 27 '22 18:09 hellmer1234

XK is not part of the list, since it isn't part of the official ISO standard as far as I can see. Check it out here: https://www.iso.org/obp/ui/#search/code/

The SwissQRCode standard in addition says that the country code must be ISO-3166-1 compliant. So technically my implementation is correct. Nevertheless I see the need and I also saw, that most organizations agreed on using XK as long as there is no official code, so I'll add it to the list soon.

codebude avatar Jun 14 '23 17:06 codebude

Many thanks for all the job @codebude Tested and deployed into production. Well done !

hellmer1234 avatar Apr 30 '24 11:04 hellmer1234