Bu uygulamada “http://tckimlik.nvi.gov.tr” adresinde hizmete sunulan vatandaşlık numarası doğrulama hizmetini ele alarak T.C. kimlik no doğrulaması yapacağız.İlk olarak bir form oluşturalım ve gereken araçları uygulamamıza ekleyelim.

TC Doğrulama

Ardından servis referansını uygulamamıza ekleyelim.Bunun için “References”‘e sağ tıklayıp “Add Service Reference”‘yi seçiyoruz.

Açılan penceredeki adres bölümüne, servisin adresini verelim.(https://tckimlik.nvi.gov.tr/Service/KPSPublic.asmx?WSDL)

Go butonuna basalım.Aşağıda listelenen KPSPublic adlı servisi seçelim.Namespace’ine “TCKimlik” diyelim ve ok’a basalım.

Kodlarımıza geçelim.


using System;
using System.Windows.Forms;
using TcKimlikNoSorgulama.TCKimlik;

namespace TcKimlikNoSorgulama
{
    public partial class Form : System.Windows.Forms.Form
    {
        TcKimlikKontrol kontrol;
        public Form()
        {
            InitializeComponent();
            kontrol = new TcKimlikKontrol();
        }

        private void BtnSorgula_Click(object sender, System.EventArgs e)
        {
            kontrol.Tc = long.Parse(txtTc.Text);
            kontrol.Ad = txtAd.Text.ToUpper();
            kontrol.Soyad = txtSoyad.Text.ToUpper();
            kontrol.DogumYili = int.Parse(txtDogumYili.Text);

            bool durum = kontrol.KimlikDogrula();
            if (durum)
                MessageBox.Show("Böyle bir TC Kimlik Numarası Bulunmaktadır!");
            else
                MessageBox.Show("Böyle bir TC Kimlik Numarası Bulunmamaktadır!");
        }

        public class TcKimlikKontrol
        {
            public long Tc { get; set; }
            public string Ad { get; set; }
            public string Soyad { get; set; }
            public int DogumYili { get; set; }

            public bool KimlikDogrula()
            {
                try
                {
                    using (KPSPublicSoapClient servis = new KPSPublicSoapClient())
                    {
                        return servis.TCKimlikNoDogrula(Tc, Ad, Soyad, DogumYili);
                    }
                }
                catch (Exception)
                {
                    return false;
                }
            }
        }
    }
}

Burada TcKimlikKontrol adlı bir sınıf oluşturduk.Değerlerimizi tutabilmek için değişkenlerimizi oluşturduk.Sorgulama işlemi için KimlikDogrula adlı method oluşturduk.Formdan girilen verileri parametre olarak bu methoda gönderdik.İşlemler sonucunda eğer parametre olarak gönderilen ad,soyad,tc, doğum yılı verileri doğru ise true değer döndürecek; eğer yanlış ise false değerini döndürecek.Dönen değer hangi koşula uyuyorsa o koşul içersindeki mesaj ekrana yazdıracak.