Exemplo n.º 1
0
        public static AccountNumberWithPostscript GetDecodedAccountNumberWithPostscript(string input)
        {
            var number = Decoder.ParseToAccountNumber(input);

            var accNumberWithPostscript = new AccountNumberWithPostscript
            {
                AccountNumber = number
            };

            return(accNumberWithPostscript.GetPostscript());
        }
Exemplo n.º 2
0
        public static AccountNumberWithPostscript GetPostscript(this AccountNumberWithPostscript accNumberWithPostscript)
        {
            if (accNumberWithPostscript.AccountNumber.Contains("?"))
            {
                accNumberWithPostscript.Postscript = ILLEGIBLE;
            }
            else if (!accNumberWithPostscript.AccountNumber.IsValid())
            {
                accNumberWithPostscript.Postscript = ERROR;
            }

            return(accNumberWithPostscript);
        }
Exemplo n.º 3
0
        public static IEnumerable <string> GetPossibleVariationsForAccountNumber(AccountNumberWithPostscript accountNumberWithPostscript)
        {
            var correctAccountVariations = new List <string>();

            if (accountNumberWithPostscript.Postscript == ERROR)
            {
                correctAccountVariations.AddRange(GetNumberVariations(accountNumberWithPostscript.AccountNumber).OrderBy(i => i));
            }

            if (accountNumberWithPostscript.Postscript == ILLEGIBLE)
            {
                correctAccountVariations.AddRange(GetNumberVariationsForIllegibleAccount(accountNumberWithPostscript.AccountNumber));
            }

            if (accountNumberWithPostscript.Postscript is null)
            {
                correctAccountVariations.AddRange(GetNumberVariations(accountNumberWithPostscript.AccountNumber).OrderBy(i => i));
            }

            return(correctAccountVariations);
        }