Exemple #1
0
 public static bool TryParse(string peselText, out Pesel pesel)
 {
     pesel = new Pesel(peselText);
     if (peselText.Length == 11)
     {
         int checkNumbersAllTheSame = 0;
         for (int i = 0; i < 11; i++)
         {
             if (peselText[0] == peselText[i])
             {
                 checkNumbersAllTheSame++;
             }
         }
         if (checkNumbersAllTheSame == 11)
         {
             return(false);
         }
         int   sumOfValidateNumbers    = 0;
         int[] arrayOfValiationNumbers = { 1, 3, 7, 9, 1, 3, 7, 9, 1, 3 };
         int   lastNumberOfPesel       = (int)Char.GetNumericValue(peselText[10]);
         for (int i = 0; i < 10; i++)
         {
             int peselTextToNumber = (int)Char.GetNumericValue(peselText[i]);
             sumOfValidateNumbers += (peselTextToNumber * arrayOfValiationNumbers[i]);
         }
         int validateSum = 10 - sumOfValidateNumbers % 10;
         validateSum = (validateSum == 10) ? 0 : validateSum;
         if (validateSum == lastNumberOfPesel)
         {
             return(true);
         }
     }
     return(false);
 }
 public AddStudentResult AddStudent(Student studentToAdd)
 {
     if (studentsList.Contains(studentToAdd))
     {
         addStudentResult = AddStudentResult.StudentIsExist;
     }
     else if (!Pesel.TryParse(studentToAdd.Pesel, out pesel))
     {
         addStudentResult = AddStudentResult.FailedToAddStudent;
     }
     else
     {
         addStudentResult = AddStudentResult.SuccessToAddStudent;
         studentsList.Add(studentToAdd);
     }
     return(addStudentResult);
 }