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); } }