/// <summary> /// Validador de CNPJ /// </summary> /// <param name="value">CNPJ</param> /// <returns></returns> public static bool IsValid(string value) { string aux = RemoveMask(value); if (!HasValidParams(aux)) { return(false); } int[] sums = GetSum(aux); int beforeLastDigit = CnpjRule.CalculateDigitValue(sums[0]); int lastDigit = CnpjRule.CalculateDigitValue(sums[1]); string lastTwoDigits = beforeLastDigit.ToString() + lastDigit.ToString(); return(aux.EndsWith(lastTwoDigits)); }
private static int[] GenerateNumbers() { List <int> generatedNambers = new List <int>(); int totalTBeforeLastDigit = 0; int totalLastDigit = 0; for (int i = 0; i < 12; i++) { generatedNambers.Add(_random.Next(10)); totalTBeforeLastDigit += generatedNambers[generatedNambers.Count - 1] * CnpjRule.CalculateBeforeLastDigitWeight(i); totalLastDigit += generatedNambers[generatedNambers.Count - 1] * CnpjRule.CalculateLastDigitWeight(i); } generatedNambers.Add(CnpjRule.CalculateDigitValue(totalTBeforeLastDigit)); totalLastDigit += generatedNambers[generatedNambers.Count - 1] * 2; generatedNambers.Add(CnpjRule.CalculateDigitValue(totalLastDigit)); return(generatedNambers.ToArray()); }