private bool validateException7(SortCodeRange sortCodeRange) { if (fullAccountNumber[12] == 9) { sortCodeRange.U = 0; sortCodeRange.V = 0; sortCodeRange.W = 0; sortCodeRange.X = 0; sortCodeRange.Y = 0; sortCodeRange.Z = 0; sortCodeRange.A = 0; sortCodeRange.B = 0; } switch (sortCodeRange.ValidationMethod) { case ValidationMethod.dblal: return(validateDblal(sortCodeRange)); case ValidationMethod.mod10: return(validateMod10(sortCodeRange)); default: return(validateMod11(sortCodeRange)); } }
private int sumIndividualDigits(SortCodeRange sortCodeRange) { var weighted_u = sortCodeRange.U * fullAccountNumber[0]; var weighted_v = sortCodeRange.V * fullAccountNumber[1]; var weighted_w = sortCodeRange.W * fullAccountNumber[2]; var weighted_x = sortCodeRange.X * fullAccountNumber[3]; var weighted_y = sortCodeRange.Y * fullAccountNumber[4]; var weighted_z = sortCodeRange.Z * fullAccountNumber[5]; var weighted_a = sortCodeRange.A * fullAccountNumber[6]; var weighted_b = sortCodeRange.B * fullAccountNumber[7]; var weighted_c = sortCodeRange.C * fullAccountNumber[8]; var weighted_d = sortCodeRange.D * fullAccountNumber[9]; var weighted_e = sortCodeRange.E * fullAccountNumber[10]; var weighted_f = sortCodeRange.F * fullAccountNumber[11]; var weighted_g = sortCodeRange.G * fullAccountNumber[12]; var weighted_h = sortCodeRange.H * fullAccountNumber[13]; var weightedString = string.Concat(weighted_u, weighted_v, weighted_w, weighted_x, weighted_y, weighted_z, weighted_a, weighted_b, weighted_c, weighted_d, weighted_e, weighted_f, weighted_g, weighted_h); var sum = 0; for (int i = 0; i < 14; i++) { sum += weightedString[i]; } return(sum); }
private int sumWeightings(SortCodeRange sortCodeRange) { var weighted_u = sortCodeRange.U * fullAccountNumber[0]; var weighted_v = sortCodeRange.V * fullAccountNumber[1]; var weighted_w = sortCodeRange.W * fullAccountNumber[2]; var weighted_x = sortCodeRange.X * fullAccountNumber[3]; var weighted_y = sortCodeRange.Y * fullAccountNumber[4]; var weighted_z = sortCodeRange.Z * fullAccountNumber[5]; var weighted_a = sortCodeRange.A * fullAccountNumber[6]; var weighted_b = sortCodeRange.B * fullAccountNumber[7]; var weighted_c = sortCodeRange.C * fullAccountNumber[8]; var weighted_d = sortCodeRange.D * fullAccountNumber[9]; var weighted_e = sortCodeRange.E * fullAccountNumber[10]; var weighted_f = sortCodeRange.F * fullAccountNumber[11]; var weighted_g = sortCodeRange.G * fullAccountNumber[12]; var weighted_h = sortCodeRange.H * fullAccountNumber[13]; return(weighted_u + weighted_v + weighted_w + weighted_x + weighted_y + weighted_z + weighted_a + weighted_b + weighted_c + weighted_d + weighted_e + weighted_f + weighted_g + weighted_h); }
private bool validateException4(SortCodeRange sortCodeRange) { return(sumWeightings(sortCodeRange) % 11 == int.Parse(string.Concat(fullAccountNumber[12], fullAccountNumber[13]))); }
private bool validateMod11(SortCodeRange sortCodeRange) { return(sumWeightings(sortCodeRange) % 11 == 0); }
private bool validateDblal(SortCodeRange sortCodeRange) { return(sumIndividualDigits(sortCodeRange) % 10 == 0); }