Example #1
0
 public static bool TryParse(string blz, out Kontonummer result)
 {
     result = null;
     long parsedKto;
     if (long.TryParse(blz, out parsedKto))
         result = new Kontonummer(parsedKto);
     return result != null;
 }
        public GermanyIbanInformationProvider(Iban iban)
            : base(iban)
        {
            const int blzLength = 8;
            const int ktoLength = 10;

            // DE00 2105 0170 0012 3456 78
            //      210 501 70 - 0012 3456 78
            // DEpp bbb bbb bb - kkkk kkkk kk
            //      bbb bbb bb - kkkk kkkk kk (18 chars)

            var bbstr = iban.Bban;

            if (bbstr.Length != 18)
            {
                throw new ArgumentException("Not a German IBAN.");
            }

            var blzStr = bbstr.Substring(0, blzLength);
            var ktoStr = bbstr.Substring(18 - ktoLength, ktoLength);

            Bankleitzahl = Bankleitzahl.Parse(blzStr);
            Kontonummer  = Kontonummer.Parse(ktoStr);
        }