Example #1
0
 public DigerUrun(Kategori pKategori, int pMiktari, float pAlisFiyati, string pUrunAdi, int pUrunID)
 {
     base.AlisFiyati = pAlisFiyati;
     base.Kategori = pKategori;
     base.Miktari = pMiktari;
     base.UrunAdi = pUrunAdi;
     base.UrunID = pUrunID;
 }
Example #2
0
        private static void YeniKategoriEkle()
        {
            Console.Write("Lütfen KategoriID giriniz :");
            try
            {
                var girilenKategoriID = Convert.ToInt32(Console.ReadLine());
                foreach (Kategori kategori in kategorilerim)  //hata oluşmamışsa kategoriID kontrolü yapılıyor.
                {
                    if(kategori!=null) //sıradaki kategori eğer boş ise aşağıdaki hata vereceğinden boş değilse devam etsin istedik.
                    if (girilenKategoriID == kategori.KategoriID)
                    {
                        Console.WriteLine("Girmeye çalıştığınız ID, {0} kategorisi için daha önce tanımlanmış\nLütfen benzersiz bir ID girin", kategori.KategoriAdi);
                        return; //bu return'ün amacı YeniKategoriEkle() metotundan çıkış yapmak için kullanıldı. Geri dönüş değeri olmayan metotlardan bu şekilde çıkılabilir.
                    }
                }
                //Buraya kadar herhangi bir sorun yoksa (catch bloğuna girilmediyse veya kategori id farklı ise), buradan sonra yeni kategori ekleme işlemi yapılabilir.
                int bostakiIlkIndex = -1;
                for (int i = 0; i < kategorilerim.Length; i++)
                {
                    if (kategorilerim[i]==null) //kategorilerim dizisindeki i numaralı index boş ise bostakiIlkIndex degerine i'yi ata.
                    {
                        bostakiIlkIndex = i;
                        break; //buradan sonra döngünün çalışmasına artık gerek yok.
                    }
                }
                if (bostakiIlkIndex==-1) //Bu değer hala böyle kalmış ise dizide hiç boşyer kalmamış demektir.
                {
                    Console.WriteLine("Kategorilerde hiç boş yeriniz kalmamış");
                    return; //bu ise YeniKategoriEkle() metotundan çıkmayı sağlayacak.
                }
                //Bu satıra gelmeyi başarmışsak bostakiIlkIndex -1'den farklıdır (yani kategorilerde boş index mevcut=boş yer mevcut).
                Console.Write("Lütfen Kategori Adı giriniz :");
                var girilenKategoriAdi = Console.ReadLine();
                kategorilerim[bostakiIlkIndex] = new Kategori(girilenKategoriAdi, girilenKategoriID);

            }
            catch (FormatException)
            {
                Console.WriteLine("Lütfen bir tam sayı girişi yapın");
            }
        }
Example #3
0
        public Urun(Kategori pKategori, int pMiktari, float pAlisFiyati, string pUrunAdi, int pUrunID)
        {
            //Aşağıda yaptığımız işlemin şu an için bir gereği yok. Ancak GetType() metodu ve typeof() için örnek olması açısından yazıyorum.
            //Biz değerleri girerken zaten farklı bir tipte değer giremeyeceğimizden gerekli değil.
            if (pKategori.GetType() == typeof(Kategori))  //parametre olarak gelen pKategori'nin tipi Kategori tipinde ise eşitle.
                Kategori = pKategori;
            else
                Kategori = new Kategori("isimsiz Kategori", 0); //değilse bir kategori oluştur.

            if (pMiktari.GetType() == typeof(int)) //pMiktari'nin tipi int ise atama yap yoksa 0'a eşitle.
                Miktari = pMiktari;
            else
                Miktari = 0;

            if (pAlisFiyati.GetType() == typeof(float))  //pAlisMiktari'nin tipi float ise kabul et değilse 0f'e eşitle.
                AlisFiyati = pAlisFiyati;
            else
                AlisFiyati = 0f;  //0f'den kasıt bu sayının bir float tipte olduğunu belirtir. 0 yazsak da bir sorun olmazdı, kendisi otomatik çevirirdi.
            //C#'da küçük türler büyük türlere otomatik olarak çevrilir. int<float (tip olarak)

            _urunAdi = pUrunAdi;  //Tip kontrolü gerçekleştirmedim.
            _urunID = pUrunID;
        }