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); }
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)); }
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); }
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"); }