Ejemplo n.º 1
0
        public static List <string> DecodeFile(List <string> lines)
        {
            if (lines.Count % 4 != 0)
            {
                Console.WriteLine("Number of lines in file is incorrect! Each number has 4 lines");
            }

            if (lines.Any(x => x.Length != 27))
            {
                Console.WriteLine($"Each line should contain 27 characters.");
            }

            var results = new List <string>();

            for (int i = 0; i < lines.Count; i += 4)
            {
                var accountNumber = new AccountNumberModel
                {
                    TopLine    = lines[i],
                    MiddleLine = lines[i + 1],
                    BottomLine = lines[i + 2]
                };

                var accountNumberResult = Account.GetDecodedNumberWithPossibleVariations(
                    $"\r\n{ accountNumber.TopLine }\r\n{accountNumber.MiddleLine}\r\n{accountNumber.BottomLine}");

                results.Add(accountNumberResult);
            }

            return(results);
        }
Ejemplo n.º 2
0
        public static string ParseToAccountNumber(string input)
        {
            var lines = input.Split("\r\n", StringSplitOptions.None);

            var accountNumber = new AccountNumberModel
            {
                TopLine    = lines[1],
                MiddleLine = lines[2],
                BottomLine = lines[3]
            };

            return(DecodeAccountNumber(accountNumber));
        }
Ejemplo n.º 3
0
        public static string DecodeAccountNumber(AccountNumberModel accountNumberModel)
        {
            var decodedAccountNumber = string.Empty;

            for (int i = 0; i < 9; i++)
            {
                decodedAccountNumber += DecodeDigit(
                    accountNumberModel.TopLine.Substring(i * 3, 3),
                    accountNumberModel.MiddleLine.Substring(i * 3, 3),
                    accountNumberModel.BottomLine.Substring(i * 3, 3)
                    );
            }

            return(decodedAccountNumber);
        }
Ejemplo n.º 4
0
        public async Task <JsonResult> RegisterNewAccount(AccountNumberModel model)
        {
            if (ModelState.IsValid)
            {
                var account = new IdentityAccountNumber(model.AccountNumber, model.AccountName, model.AccountBranch);
                var result  = await AccountNumberManager.CreateAsync(account);

                if (result)
                {
                    return(Json(new { code = "00", message = "Sucessfull" }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    throw new Exception("New Account creation failed");
                }
            }
            throw new Exception("Invalid Data Submitted");
        }