예제 #1
0
        private static int GetSum(string value)
        {
            int sum = 0;

            for (int i = 0; i < 10; i++)
            {
                sum += int.Parse(value[i].ToString()) * PisRule.CalculateWeight(i);
            }

            return(sum);
        }
예제 #2
0
        /// <summary>
        /// Validador de PIS
        /// </summary>
        /// <param name="value">PIS</param>
        /// <returns></returns>
        public static bool IsValid(string value)
        {
            string aux = RemoveMask(value);

            if (string.IsNullOrEmpty(aux) || aux.Length != 11)
            {
                return(false);
            }

            int sum       = GetSum(aux);
            int lastDigit = PisRule.CalculateLastDigit(sum);

            return(value.EndsWith(lastDigit.ToString()));
        }
예제 #3
0
        private static int[] GenerateNumbers()
        {
            List <int> generatedNumbers = new List <int>();

            int total = 0;

            for (int i = 0; i < 10; i++)
            {
                generatedNumbers.Add(_random.Next(10));
                total += generatedNumbers[generatedNumbers.Count - 1] * PisRule.CalculateWeight(i);
            }

            generatedNumbers.Add(PisRule.CalculateLastDigit(total));

            return(generatedNumbers.ToArray());
        }