Bir çok ticari proje ve otomasyonlar da sıkça kullanılan, müşterinin gerçekten kimliğinin doğru olup olmadığını anlayan ve ona göre işlem yapan bir çok ticari uygulama var. Genelde en çok taksitli satış gibi programlar da müşterinin var olup olmadığını kontrol etmek için kullanılır. Bu sayede firma kendini bir nebze korumaya almış olur.

Bizde bugün sizlerle C# ile TC Kimlik No Doğrulama Uygulaması yapacağız. Bunu tabii ki de Web Service kullanarak yapacağız. Örneğimizi yaptıktan sonra artık sizde kendi projelerinizde TC Kimlik No Doğrulama Uygulamasını kullanarak projenizi bir tık daha ileri taşıma imkanı bulacaksınız.

Uygulama kodlarımıza geçmeden önce ilk yapmamız gereken Web Servisi kendi projemize dahil etmek. Bunun için;

Çözüm Gezgini -> Ekle -> Hizmet Başvurusu penceresine geliyoruz. Daha sonra

https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL

Yukarıdaki kodumuzu penceremize kopyalayıp ve ismini kimlikDogrulama yapıyoruz.

Kod Adası |Web Servis Kullanımı 1

Kod Adası |Web Servis Kullanımı

Servisimizi projemize ekledik şimdi form ekranımıza dönebiliriz. Bu servisin bizden istediği 4 önemli bilgi var bunlar ;

  • TC Kimlik No
  • Ad
  • Soyad
  • Doğum Yılı

Bunların hepsi büyük harf olmak zorunda. Eğer küçük harf olarak girerseniz bool veri tipi size false değerini döndürecektir.

Formumuza 4 adet TextBox, 5 adet Label ve 1 Button nesnemizi ekledik.

Kod Adası |Web Servis Kullanımı 2
Kod Adası |Web Servis Kullanımı 2

Kontrol et butonuna tıkladığımızda kodlarımız aşağıdaki gibi olacaktır.

private void Button1_Click(object sender, EventArgs e)
         {
             long tcKimlik = long.Parse(textBox1.Text);
             int dogumYili = int.Parse(textBox4.Text);        
        bool? sonuc;

        try
        {
            KimlikDogrulama.KPSPublicSoapClient webService = new KimlikDogrulama.KPSPublicSoapClient();
            sonuc = webService.TCKimlikNoDogrula(tcKimlik, textBox2.Text, textBox3.Text, Convert.ToInt32(textBox4.Text));
        }
        catch (Exception)
        {
            sonuc = null;
        }

        if (sonuc == true)
        {
            textBox1.BackColor = Color.Green;
        }
        else if(sonuc == false)
        {
            textBox1.BackColor = Color.Red;
            textBox1.ForeColor = Color.White;
        }


    }

Burada ben yukarıda Textboxtan gelen verileri değişkene alıp long ve int veri tipine çevirdim. İsterseniz siz bunları kütüphanenin içinde convert işlemi yapabilirsiniz okunabilirlik açısından bu daha okunur olduğundan ben böyle yaptım. Daha sonra kimlikDogrulama sınıfı ile gelen sonucu, sonuc değişkenime aldım ve true geldiğinde yeşil false geldiğinde arka planın kırmızı olması gerektiğini söyledim. Bir projemizin daha sonuna geldik. Yararlı bulduysanız yorumlarınızı bizimle paylaşabilirsiniz…

Kod Adası |C# Web Servis Kullanımı 3