908 kez okundu

E-Ticaret Projelerinde Siparis No Oluşturmak

10 10 908 kez okundu incelendi

E-Ticaret sitelerinde alınan siparişleri database tarafına kaydederken siparis veren kullanıcılara,siparis durumlarını takeip edebilmek yada teknik destek alabilmeleri için identity(benzersiz) bir sipariş nosu oluştururuz.Bunu Guid nesnesi yada custom kendi yazıdığımız bir sınıf ile yapabiliriz.Ben burada genellikle kendi kullandığım bir yöntemi paylaşacağım.Bu uygulamada benim için önemli olan aslında siparis no oluştururken kullanıcı ve siparis bilgilerini de kullanıp biraz daha mantıklı bir sipariş no’su oluşturmak olucaktır.Bu nedenle siparis no’sunun başına rastgele iki harf daha sonrasında ise sipariş veren kullanıcının UyeId gibi bir Id’sini ve Siparişler tablosuna kayıt olduktan sonra bu siparişe verilen identity Siparis Id yi veriyorum.(SiparisId’yi de işin içine katmam oluşturulacak olan SiparisNo’sunu tamemen identity yani benzersiz yapıcaktır.)

public static string SiparisNoOlustur(int siparisID, int uyeId)

    {
        string orderNo = "";
        int r1 = 0;
        int r2 = 0;
        string h1 = "";
        string h2 = "";
        SortedList<int, string> harfler = new SortedList<int, string>();
        harfler.Add(1, "A");
        harfler.Add(2, "B");
        harfler.Add(3, "C");
        harfler.Add(4, "D");
        harfler.Add(5, "E");
        harfler.Add(6, "F");
        harfler.Add(7, "G");
        harfler.Add(8, "H");
        harfler.Add(9, "I");
        harfler.Add(10, "J");
        harfler.Add(11, "K");
        harfler.Add(12, "L");
        harfler.Add(13, "M");
        harfler.Add(14, "N");
        harfler.Add(15, "O");
        harfler.Add(16, "Ö");
        harfler.Add(17, "P");
        harfler.Add(18, "R");
        harfler.Add(19, "S");
        harfler.Add(20, "Ş");
        harfler.Add(21, "T");
        harfler.Add(22, "U");
        harfler.Add(23, "Ü");
        harfler.Add(24, "V");
        harfler.Add(25, "Y");
        harfler.Add(26, "Z");
        Random rnd = new Random();
        r1 = int.Parse(rnd.Next(1, 26).ToString());
        r2 = int.Parse(rnd.Next(1, 26).ToString());
        foreach (int item in harfler.Keys)
        {
            string item2 = item.ToString();
            if (item2 == r1.ToString())
                foreach (var deger in harfler)
                {
                    if (deger.Key.ToString() == item2.ToString())
                        h1 = deger.Value.ToString();
                }
            if (item2 == r2.ToString())
                foreach (var deger2 in harfler)
                {
                    if (deger2.Key.ToString() == item2.ToString())
                        h2 = deger2.Value.ToString();
                }
        }
        orderNo = h1 + h2 + siparisID.ToString() + uyeId.ToString();

        return orderNo;
    }

Yoruma kapali.

Barış Ozcan Facebook Sayfasi
Barış Ozcan Twitter