public static void Main()
var testString = "DFR25020014679444576824";
var testSubstring = ParseRetailerCode(testString.Substring(8, 6));
Console.WriteLine(testString);
Console.WriteLine(testSubstring);
public static string ParseRetailerCode(string tfvdRetailerCode)
if (tfvdRetailerCode.Substring(0, 1) == "0")
tfvdRetailerCode = tfvdRetailerCode.Substring(1, 4);
long storeIDValidate = Convert.ToInt64(tfvdRetailerCode.Substring(0, 5));
int checkDigit = CalculateCheckDigit(storeIDValidate);
if (checkDigit.ToString() == tfvdRetailerCode.Substring(5, 1))
return tfvdRetailerCode.Substring(0, 5);
public static int CalculateCheckDigit(long number)
rangeLength = number.ToString().Length;
int[] checkDigitArray = { 2, 3, 4, 5, 6, 7, 8, 9 };
for (cnt = 0; cnt < rangeLength; cnt++)
total += int.Parse(number.ToString().Substring(rangeLength - 1 - cnt, 1)) * checkDigitArray[cnt];