public void TedarikciEkle() { Tedarikci tedarikci = new Tedarikci(); Tedarikciler.Add(tedarikci);//Listeye tedarikci eklettik. int randsayi = RastgeleSayi.SayiUret(1, Hammadde.hammaddeIsimleri.Length); for (int i = 0; i < randsayi; i++)//her tedarikciye farklı sayıda hammadde ekletiyoruz. { Hammadde hammadde = new Hammadde(tedarikci.Id, i); tedarikci.Hammaddeler.Add(hammadde); } }
public void HammaddeAl() { int musteriid = 0; Console.WriteLine("-------------------------Müşteriler------------------------------\n"); foreach (var item in Musteriler)//ilk önce varolan müşterileri listelettik. { Console.WriteLine(String.Format("{0,-15} {1,-15} {2,-25} {3,-10} {4,-10}", "Ad", "Telefon", "Mail", "Bakiye", "ID")); Console.WriteLine(String.Format("{0,-15} {1,-15} {2,-25} {3,-10} {4,-10}", item.Ad, item.Telefon, item.Mail, item.Bakiye, item.Id)); Console.WriteLine(String.Format("{0,-20} {1,-10}", "Son Alınan Sipariş :", item.SonAlinanSiparis.TarihVer())); Console.WriteLine(String.Format("{0,-20} {1,-10}", "Son Verilen Sipariş:", item.SonVerilenSiparis.TarihVer())); Console.WriteLine("----------------------------------------------------------------"); } Console.WriteLine("Müşteri ID'nizi Giriniz:");//Daha sonra ürünü hangi müşteri alacaksa kendi id'sini girdirdik musteriid = int.Parse(Console.ReadLine()); if (musteriid < 0) { throw new Hata("Müşteri Id Negatif Değer Girilemez..."); } Musteri Musteri = null; foreach (var musteri in Musteriler)//Id'si girilen müsterinin bilgisini çektik. { if (musteri.Id == musteriid) { Musteri = musteri; } } if (Musteri == null)//eğer müsteri boş gelirse hata fırlattık. { throw new Hata("Böyle Bir Müşteri Yok"); } Console.WriteLine("-------------------------Tedarikciler------------------------------\n");//sonra varolan tedarikcileri listelettik. int sayac = 0; foreach (var item in Tedarikciler) { Console.WriteLine(String.Format("{0,-15} {1,-15} {2,-25} {3,-8} {4,-8}", "Ad", "Telefon", "Mail", "Bakiye", "ID")); Console.WriteLine(String.Format("{0,-15} {1,-15} {2,-25} {3,-8} {4,-8}", item.Ad, item.Telefon, item.Mail, item.Bakiye, item.Id)); Console.WriteLine(); Console.WriteLine(String.Format("{0,-20} {1,-20} {2,-10} {3,-15} {4,-10} ", "Barkod No", "Madde Adı", "Miktarı", "Min. Sipariş", "Adet Fiyat")); foreach (var madde in item.Hammaddeler)//tedarikcilerin her birinin ürünlerini yazdırdık. { if (sayac % 2 == 0) { Console.BackgroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Blue; } else { Console.BackgroundColor = ConsoleColor.Green; Console.ForegroundColor = ConsoleColor.Red; } Console.WriteLine(String.Format("{0,-20} {1,-20} {2,-10} {3,-15} {4,-10}", madde.BarkodNo.BarkodNo, madde.MaddeAdi, madde.Miktari, madde.MinSiparis, madde.AdetFiyat)); sayac++; } Console.BackgroundColor = ConsoleColor.Black; Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine(); Console.WriteLine("-------------------------------------------------------------------"); } int tdrkcid = 0; Console.WriteLine("Hangi Tedarikçiden Almak İstiyorsanız ID'sini Giriniz:");//Hangi tedarikciden hammadde alınacaksa onun id'sini giriyoruz. tdrkcid = int.Parse(Console.ReadLine()); if (tdrkcid < 0) { throw new Hata("Tedarikçi Id Negatif Değer Girilemez..."); } Tedarikci Tedarikci = null; foreach (var tedarikci in Tedarikciler)//Id'si girilen tedarikcinin bilgisini çektik. { if (tedarikci.Id == tdrkcid) { Tedarikci = tedarikci; } } if (Tedarikci == null)//eğer tedarikci boş gelirse hata fırlattık. { throw new Hata("Böyle Bir Tedarikçi Yok"); } Console.WriteLine("Almak İstediğiniz Hammaddenin Barkod No'sunu Giriniz:");//Hangi ürünü alacağını seçtirdik. string BarkodNo = Console.ReadLine(); if (String.IsNullOrEmpty(BarkodNo)) { throw new Hata("Barkod No Null Veya Boş Olamaz..."); } Hammadde Madde = null; foreach (var madde in Tedarikci.Hammaddeler)//Barkod No'su girilen maddenin bilgisini çektik. { if (madde.BarkodNo.BarkodNo == BarkodNo) { Madde = madde; } } if (Madde == null)//eğer madde boş gelirse hata fırlattık. { throw new Hata("Böyle Bir Madde Yok"); } Console.WriteLine("Kaç Adet Almak İstiyorsunuz ?"); int adet = int.Parse(Console.ReadLine()); if (adet < 0 || adet > Madde.Miktari)//eğer adet negatif veya seçilen ürünün varolan miktarından fazla girilirse hata fırlattık. { throw new Hata("Adet Negatif Değer Ya da Varolan Miktardan Büyük Girilemez..."); } if (adet >= Madde.MinSiparis)//eğer girilen adet seçilen ürünün varolan miktarından az girilirse toplamtutarı hesaplattık. { int ToplamTutar = adet * Madde.AdetFiyat; if (Musteri.Bakiye >= ToplamTutar)//Toplam tutar müşterinin bakiyesinden küçükse satın alma işlemleri yaptırdık. { Hammadde alinanmadde = new Hammadde(); alinanmadde.TedarikciId = Musteri.Id; alinanmadde.Miktari += adet; alinanmadde.AlinmaTarihi = new Tarih(); alinanmadde.AlinmaTarihi.Gun = DateTime.Now.Day; alinanmadde.AlinmaTarihi.Ay = DateTime.Now.Month; alinanmadde.AlinmaTarihi.Yil = DateTime.Now.Year; alinanmadde.BarkodNo = Madde.BarkodNo; alinanmadde.MinSiparis = Madde.MinSiparis; alinanmadde.MaddeAdi = Madde.MaddeAdi; alinanmadde.AdetFiyat = Madde.AdetFiyat; Tedarikci.Bakiye += ToplamTutar; Madde.Miktari -= adet; Musteri.Bakiye -= ToplamTutar; Musteri.SonVerilenSiparis = new Tarih(); Musteri.SonVerilenSiparis.Gun = DateTime.Now.Day; Musteri.SonVerilenSiparis.Ay = DateTime.Now.Month; Musteri.SonVerilenSiparis.Yil = DateTime.Now.Year; Musteri.Hammaddeler.Add(alinanmadde); Console.WriteLine("Hammadde Alındı..."); Console.ReadKey(); } else // Bakiyemiz yetersizse yine hata fırlatıyoruz. { throw new Hata("Yeterli Bakiyeniz Yok"); } } else // varolan madde adetini hata olarak fırlatıyoruz. { throw new Hata(String.Format("En az {0} tane alınabilir", Madde.MinSiparis)); } }