OtoGaleriZoom
AmoryLorch
csharp
3 years ago
9.1 kB
15
Indexable
//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
}
}
Editor is loading...