public void AddEntry(String ban, bankAccountNumberFormat mode = bankAccountNumberFormat.doubleSeparation, Boolean onlyUnique = true) { bankAccountNumber ban_instance = new bankAccountNumber(); ban_instance.SetFromString(ban, mode); AddEntry(ban_instance, onlyUnique); }
/// <summary> /// To the string. /// </summary> /// <param name="useLeadingZeros">if set to <c>true</c> [use leading zeros].</param> /// <param name="mode">The mode.</param> /// <returns></returns> public String ToString(Boolean useLeadingZeros, bankAccountNumberFormat mode, StringBuilder sb = null) { if (sb == null) { sb = new StringBuilder(); } ToString(sb, useLeadingZeros, mode); return(sb.ToString()); }
/// <summary> /// To the string. /// </summary> /// <param name="useLeadingZeros">if set to <c>true</c> [use leading zeros].</param> /// <param name="mode">The mode.</param> /// <returns></returns> public String ToString(Boolean useLeadingZeros = true, bankAccountNumberFormat mode = bankAccountNumberFormat.doubleSeparation) { var sb = new StringBuilder(); foreach (var ban in this) { if (ban.accountNumber != 0) { ban.ToString(sb, useLeadingZeros, mode); sb.AppendLine(); } } return(sb.ToString()); }
public void ToString(StringBuilder sb, Boolean useLeadingZeros = true, bankAccountNumberFormat mode = bankAccountNumberFormat.doubleSeparation) { if (accountNumber == 0) { return; } StringBuilder sent_sb = sb; if (useLeadingZeros && mode == bankAccountNumberFormat.doubleSeparation) { if (!fullFormat.isNullOrEmpty()) { sb.Append(fullFormat); return; } sb = new StringBuilder(); } sb.Append(bankPrefix.ToString("D3")); if (mode == bankAccountNumberFormat.singleSeparation || mode == bankAccountNumberFormat.doubleSeparation) { sb.Append("-"); } if (useLeadingZeros) { sb.Append(accountNumber.ToString("D13")); } else { sb.Append(accountNumber.ToString()); } if (mode == bankAccountNumberFormat.doubleSeparation) { sb.Append("-"); } sb.Append(controlNumber.ToString("D2")); if (useLeadingZeros && mode == bankAccountNumberFormat.doubleSeparation) { fullFormat = sb.ToString(); sent_sb.Append(fullFormat); } }
public bankAccountNumber(String input, bankAccountNumberFormat format = bankAccountNumberFormat.unknown) { SetFromString(input, format); }
public void SetFromString(String input, bankAccountNumberFormat mode = bankAccountNumberFormat.doubleSeparation) { List <String> parts = new List <string>(); String rightPart = ""; String cntPart = ""; if (input.Length < 6) { throw new ArgumentException("Input string [" + input + "] cant be interpreted as bank account number!"); } switch (mode) { case bankAccountNumberFormat.doubleSeparation: parts.AddRange(input.Split('-')); break; case bankAccountNumberFormat.noSeparation: parts.Add(input.Substring(0, 3)); rightPart = input.Substring(3); cntPart = rightPart.Substring(rightPart.Length - 2); parts.Add(rightPart.Substring(0, rightPart.Length - 2)); parts.Add(cntPart); break; case bankAccountNumberFormat.singleSeparation: var tmp = input.Split("- ".ToArray(), StringSplitOptions.RemoveEmptyEntries); parts.Add(tmp[0]); rightPart = tmp[1]; cntPart = rightPart.Substring(rightPart.Length - 2); parts.Add(rightPart.Substring(0, rightPart.Length - 2)); parts.Add(cntPart); break; case bankAccountNumberFormat.unknown: input = input.Replace("-", ""); input = input.Replace(" ", ""); SetFromString(input, bankAccountNumberFormat.noSeparation); return; break; } Int32 _tmp = 0; if (!Int32.TryParse(parts[0], out _tmp)) { throw new ArgumentException("Input string [" + input + "] cant be interpreted as bank account number -- conversion to integer failed!"); } else { bankPrefix = _tmp; } UInt64 _utmp = 0; if (!UInt64.TryParse(parts[1], out _utmp)) { throw new ArgumentException("Input string [" + input + "] cant be interpreted as bank account number -- conversion to integer failed!"); } else { accountNumber = _utmp; } if (!Int32.TryParse(parts[2], out _tmp)) { throw new ArgumentException("Input string [" + input + "] cant be interpreted as bank account number -- conversion to integer failed!"); } else { controlNumber = _tmp; } }