ASP.NET MVC AJAX İLE VERGİ NO DOĞRULAMA
Girilen vergi numarasının doğru olup olmadığı aşağıdaki şekilde kullanılabilir.
Contoller tarafı
[HttpPost]
public JsonResult VergiNoKontrol(string no)
{
if (ModelState.IsValid)
{
if (no.Length == 10)
{
var x = new int[9];
var y = new int[9];
for (int i = 0; i < 9; i++)
{
x[i] = (int.Parse(no[i].ToString()) + 9 - i) % 10;
y[i] = (x[i] * (int)Math.Pow(2, 9 - i)) % 9;
if (x[i] != 0 && y[i] == 0)
{
y[i] = 9;
}
}
int hesap = ((10 - (y.Sum() % 10)) % 10);
string sonKarakter = no.Substring(9, 1);
if (hesap == Convert.ToInt32(sonKarakter))
{
return Json(new { Durum = true }, JsonRequestBehavior.AllowGet);
}
//return ((10 - (y.Sum() % 10)) % 10) == int.Parse(vkn[9].ToString());
}
else
{
return Json(new { Durum = false }, JsonRequestBehavior.AllowGet);
}
}
return Json(new { Durum = false });
}
View tarafı
<script type="text/javascript">
$(function () {
var isSuccess = false;
$("#txtVergiNo").focusout(function () {
//alert("kontrol et");
var kontrolEdilecekBilgi = $("#txtVergiNo").val();
if (kontrolEdilecekBilgi == "") {
//$("#mesajMetin").text("Lütfen tüm alanları doldurunuz!");
//$("#mesaj").show();
return;
}
var data = { no: kontrolEdilecekBilgi };
$.ajax({
type: 'POST',
url: "/Cari/VergiNoKontrol",
data: JSON.stringify(data),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (sonuc) {
//alert(sonuc.Durum);
if (sonuc.Durum == true) {
isSuccess = true;
}
},
complete: function () {
if (isSuccess == true) {
//alert("true")
} else {
//alert("Vergi No Hatalı! Lütfen kontrol ediniz.");
swal("Vergi No Hatalı!", "Lütfen kontrol ediniz..", "error")
}
isSuccess = false;
}
});
})
});
</script>