コード例 #1
0
 public static bool ValidatePesel(string Pesel)
 {
     try
     {
         if (Pesel.Length != 11 || !StringHelper.DigitOnly(Pesel))
         {
             return(false);
         }
         const string Weight = "1379137913";
         int          Total  = 0;
         for (int i = 0; i < Weight.Length; i++)
         {
             int w, p;
             int.TryParse(Weight.ElementAt(i).ToString(), out w);
             int.TryParse(Pesel.ElementAt(i).ToString(), out p);
             Total += w * p;
         }
         var Reminder  = Total % 10;
         var ctrlDigit = 10 - Reminder;
         if (ctrlDigit == 10)
         {
             ctrlDigit = 0;
         }
         return(Pesel.Last().ToString() == ctrlDigit.ToString());
     }
     catch (Exception)
     {
         return(false);
     }
 }