public bool TcKimlikKontrol(string tckimlik)
{
bool durum = true;
if (tckimlik.Length != 11 || tckimlik.Substring(0, 1) == "0")
{
durum = false;
}
int ilk10hane = 0, sayac = 0, ilk10hanekalan = 0, carpilacakdegerler = 0, toplanacakdegerler = 0, carpimtoplamsonucu = 0;
foreach (char item in tckimlik)
{
if (!char.IsNumber(item))
{
durum = false;
return false;
}
else
{
sayac++;
if (sayac < 11)
{
if (sayac == 1 || sayac == 3 || sayac == 5 || sayac == 7 || sayac == 9)
{
carpilacakdegerler += Convert.ToInt32(item.ToString());
}
else if (sayac != 10)
{
toplanacakdegerler += Convert.ToInt32(item.ToString());
}
else
{
carpimtoplamsonucu = (carpilacakdegerler * 7) - toplanacakdegerler;
int sonuc = (carpimtoplamsonucu % 10);
//sonuc negatifse yanlis mod aliyor.
if (sonuc < 0)
sonuc += 10;
if (!(Convert.ToInt32(item.ToString()) == sonuc))
{
durum = false;
return durum;
}
}
ilk10hane += Convert.ToInt32(item.ToString());
}
else
{
ilk10hanekalan = ilk10hane % 10;
int sonuc = (ilk10hanekalan % 10);
//sonuc negatifse yanlis mod aliyor.
if (sonuc < 0)
sonuc += 10;
if (!(Convert.ToInt32(item.ToString()) == sonuc))
{
durum = false;
return durum;
}
}
}
}
return durum;
}