Kredi Kart Numarası Kontrolü

Serhat tarafından yazılmıştır. 26. Haziran 2010 10:11

Merhabalar herkese,

Geçen gün ihtiyaç olduğundan kredi kart numarası kontrolü yapan birşeyler lazım oldu , belki birilerinin işinede yarar..

   public enum CreditCardResponse
    {
        TheWrongCardNumber,
        TheCorrectCardNumber
    }
    public class CreditCard
    {
        List<int> getOneNumbers = new List<int>();
        List<int> getTwoNumbers = new List<int>();
        List<int> getTwoNumbersTemp = new List<int>();


        public CreditCardResponse CreditCartIsValid(string cardNumber)
        {
            if (((SingleNumberTotal(cardNumber.Trim().Replace(" ", "")) + DoubleNumberTotal(cardNumber.Trim().Replace(" ", ""))) % 10) == 0)
                return CreditCardResponse.TheCorrectCardNumber;
            else
                return CreditCardResponse.TheWrongCardNumber;
        }

        private int SingleNumberTotal(string no)
        {
            int singleTotal = 0;
            for (int i = 0; i < no.Length; i++)
                if (i % 2 != 0)
                {
                    singleTotal += int.Parse(no[i].ToString());
                    getOneNumbers.Add(int.Parse(no[i].ToString()));
                }
            return singleTotal;
        }

        private int DoubleNumberTotal(string no)
        {
            for (int i = 0; i < no.Length; i++)
                if (i % 2 == 0)
                    getTwoNumbers.Add(int.Parse(no[i].ToString()) * 2);

            for (int s = 0; s < getTwoNumbers.Count; s++)
                getTwoNumbersTemp.Add(SingleNumberCount(getTwoNumbers[s]));

            return getTwoNumbersTemp.Sum();
        }

        private int SingleNumberCount(int count)
        {
            string temp = count.ToString();
            int numberTemp = 0;
            if (temp.Length > 1)
                for (int i = 0; i < temp.Length; i++)
                    numberTemp += int.Parse(temp[i].ToString());
            else
                numberTemp = count;
            return numberTemp;
        }
    }

 

[code:c#]            

            CreditCard card = new CreditCard();
            CreditCardResponse response = card.CreditCartIsValid("1258183272509158");

Method'dan 2 değer dönmektedir. TheWrongCardNumber  ve TheCorrectCardNumber 'dir. Corrcect ise doğru bir kart numarasıdır.

3 kişi tarafından 4.0 olarak değerlendirildi

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , ,

C# & .NET

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

biuquote
  • Yorum
  • Canlı önizleme
Loading



Powered by BlogEngine.NET 1.4.5.0
Bu tema Mads Kristensen tarafından yapılmıştır ve Türkçeleştirilmesi Blog Engine Türkiye ekibi tarafından yapılmıştır.

Son Yorumlar

Comment RSS

Yasal Uyarı

Bu sitede sunulan tüm bilgi ve dökümanların kullanımından ve sitede yapılan kullanıcı yorumlarından (siyasi içerik,hakaret vb.) doğacak sorunlardan yazar sorumlu tutulamaz. 

İçeriğin kaynak belirtilmeden kopyalanması yasaktır !

SERHAT TAŞ

© Copyright 2010