OtoGaleriZoom
AmoryLorch
csharp
2 years ago
9.1 kB
8
Indexable
Never
//Program.cs using OtoGaleri; using System.Text.RegularExpressions; Galeri Galeri = new Galeri(); Uygulama(); void Uygulama() { while (true) { Menu(); string secim = Console.ReadLine(); switch (secim) { case "1": case "K": Galeri.ArabaKirala(); break; case "2": case "T": Galeri.ArabaTeslimAl(); break; case "3": case "R": Galeri.KiradakiArabalarıListele(); break; case "4": case "M": Galeri.GaleridekiArabalarıListele(); break; case "5": case "A": Galeri.TumArabalariListele(); break; //case "6": case "I": Kiralamaİptali(); break; case "7": case "Y": Galeri.ArabaEkle(Galeri.Arabalar); break; case "8": case "S": Galeri.ArabaSil(); break; case "9": case "G": Galeri.BilgileriGoster(); break; default: break; } } } void Menu() { Console.WriteLine("Galeri Otomasyon"); Console.WriteLine("1 - Araba Kirala(K)"); Console.WriteLine("2 - Araba Teslim Al(T)"); Console.WriteLine("3 - Kiradaki Arabaları Listele(R)"); Console.WriteLine("4 - Galerideki Arabaları Listele(M)"); Console.WriteLine("5 - Tüm Arabaları Listele(A)"); Console.WriteLine("6 - Kiralama İptali(I)"); Console.WriteLine("7 - Araba Ekle(Y)"); Console.WriteLine("8 - Araba Sil(S)"); Console.WriteLine("9 - Bilgileri Göster(G)"); } //Galeri.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; namespace OtoGaleri { public class Galeri { Regex regex = new Regex("([0-9]{1,2})([a-zA-Z]{1,3})([0-9]{1,4})$"); public List<Araba> Arabalar = new List<Araba>(); public void ArabaEkle(List<Araba> araba) { this.Arabalar.Add(new Araba()); Console.WriteLine(Arabalar.Count); Arabalar.ForEach(x => Console.WriteLine($"{x.Plaka} {x.Marka} {x.KiralamaBedeli} {x.KiralamaSayisi} {x.Araba_Tipi}")); } public void ArabaKirala() { Console.WriteLine("-Araba Kirala-"); // saatler verdim regex için, 00 ile başlayan plaka sorunu var. Console.Write("Kiralanacak arabanın plakası: "); string kiralanacakArabaPlakasi = Console.ReadLine(); byte byteKAP; if (regex.IsMatch(kiralanacakArabaPlakasi) == true) { Console.WriteLine("DOruğ"); if (!Arabalar.Exists(x => x.Plaka.Equals(kiralanacakArabaPlakasi))) { Console.WriteLine("Galeriye ait bu plakada bir araba yok."); } if (Arabalar.Exists(x => x.Plaka.Equals(kiralanacakArabaPlakasi))) { foreach (Araba i in Arabalar) { if (i.Durum == DURUM.Kirada) { Console.WriteLine("Araba şu anda kirada. Farklı araba seçiniz."); } } } // if (Arabalar.Exists(x => x.Plaka.Equals(kiralanacakArabaPlakasi))) { Console.Write("Kiralama süresi: "); Araba.KiralamaSuresi = int.Parse(Console.ReadLine()); Console.WriteLine(kiralanacakArabaPlakasi + " Plakalı araba " + Araba.KiralamaSuresi + " saatliğine kiralandı."); //Arabalar.Exists(x => x.Equals(kiralanacakArabaPlakasi.Equals(x.Durum = DURUM.Kirada))); //Arabalar.Exists(x => x.Durum.Equals(x.Durum = DURUM.Kirada)); foreach (Araba i in Arabalar) { if (i.Plaka == kiralanacakArabaPlakasi) { i.Durum = DURUM.Kirada; } } } } regex.Match(kiralanacakArabaPlakasi); if (regex.IsMatch(kiralanacakArabaPlakasi) == false) { Console.WriteLine("Bu şekilde plaka girişi yapamazsınız. Tekrar deneyin."); } } public void TumArabalariListele() { Arabalar.ForEach(x => Console.WriteLine($"{x.Plaka} {x.Marka} {x.KiralamaBedeli} {x.KiralamaSayisi} {x.Araba_Tipi} {x.Durum}")); } public void ArabaTeslimAl() { Console.WriteLine("-Araba Teslim Al-"); string teslimAlinacakAraba = Console.ReadLine(); if (regex.IsMatch(teslimAlinacakAraba) == false) { Console.WriteLine("Bu şekilde plaka girişi yapamazsınız. Tekrar deneyin."); } else if (regex.IsMatch(teslimAlinacakAraba) == true) { if (Arabalar.Exists(x => x.Durum == DURUM.Galeride)) { Console.WriteLine("Hatalı giriş yapıldı. Araba zaten galeride."); } } else if(regex.IsMatch(teslimAlinacakAraba) == true) { if (!Arabalar.Exists(x => x.Plaka.Equals(teslimAlinacakAraba))) { Console.WriteLine("Galeriye ait bu plakada bir araba yok."); } } if (regex.IsMatch(teslimAlinacakAraba) == true) { if (Arabalar.Exists(x => x.Plaka.Equals(teslimAlinacakAraba))) { foreach (Araba i in Arabalar) { if (i.Durum == DURUM.Kirada) { i.Durum = DURUM.Galeride; Console.WriteLine("Araba galeride beklemeye alındı."); } } } } } public void ArabaSil() { Console.Write("Silmek istediğiniz arabanın plakasını giriniz: "); string sil = Console.ReadLine(); bool silKontrol = Arabalar.Exists(x => x.Plaka.Equals(sil)); if (silKontrol) { Arabalar.RemoveAll(x => x.Plaka.Equals(sil)); Console.WriteLine("Araba silindi."); } } public void KiradakiArabalarıListele() { foreach (Araba i in Arabalar) { if (i.Durum == DURUM.Kirada) { Console.WriteLine( $"{i.Plaka} {i.Marka} {i.KiralamaBedeli} {i.KiralamaSayisi} {i.Araba_Tipi}" ); } } } public void GaleridekiArabalarıListele() { foreach (Araba i in Arabalar) { if (i.Durum == DURUM.Galeride) { Console.WriteLine($"{i.Plaka} {i.Marka} {i.KiralamaBedeli} {i.KiralamaSayisi} {i.Araba_Tipi}"); } } } public void BilgileriGoster() { Console.WriteLine("Toplam araba sayısı: " + Arabalar.Count()); //Console.WriteLine("Kiradaki araba sayısı: " + Galeri.Arabalar.Count()); //Console.WriteLine("Bekleyen araba sayısı: " ); //Console.WriteLine("Toplam araba kiralama süresi: "); //Console.WriteLine("Toplam araba kiralama adedi: "); //Console.WriteLine("Ciro: "); } } } //Araba.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static OtoGaleri.Galeri; namespace OtoGaleri { public class Araba { public DURUM Durum; public string Plaka { get; set; } public string Marka { get; set; } public float KiralamaBedeli { get; set; } public int KiralamaSayisi { get; set; } public ARABA_TIPI Araba_Tipi ; private static int KiralamaSure; public static int KiralamaSuresi { get { return KiralamaSure; } set { KiralamaSure = value; } } public Araba() { Console.Write("Plaka: "); this.Plaka = Console.ReadLine(); Console.Write("Marka: "); this.Marka = Console.ReadLine(); Console.Write("Kiralama Bedeli: "); this.KiralamaBedeli = float.Parse(Console.ReadLine()); Console.Write("Araba Tipi: \nSuv 1\nHatchback 2\nSedan 3"); this.Araba_Tipi = (ARABA_TIPI)int.Parse(Console.ReadLine()) ; this.Durum = DURUM.Galeride; } } public enum ARABA_TIPI { Empty, SUV, Hatchback, Sedan } public enum DURUM { Empty, Kirada, Galeride } }