//Rezervasyon İptal methodumuz için alınan parametrelerimiz. public static bool iptal(Otel otel, string musteriTC, string odaTipi, string manzarası , DateTime start, DateTime end) { int sec = sorgu(otel, musteriTC, odaTipi, manzarası, start, end, false); if (sec < 0) { return(false); } else { if (odaTipi.Equals("Tek Yatakli Oda")) //Oda tipimiz Tek Yatakli Oda şeklinde girilmişse { otel.tek[sec].rezervasyonIptal(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezervasyon işlemini iptel eder. } else if (odaTipi.Equals("Cift Yatakli Oda")) //Oda tipimiz Cift Yatakli Oda şeklinde girilmişse yine aynı şekilde { otel.cift[sec].rezervasyonIptal(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezervasyon işlemini iptel eder. } else if (odaTipi.Equals("Ikiz Yatakli Oda")) //Oda tipimiz Ikiz Yatakli Oda şeklinde girilmişse yine aynı şekilde { otel.ikiz[sec].rezervasyonIptal(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezervasyon işlemini iptel eder. } return(true); } }
//Rezerve methodumuz için alınan parametrelerimiz. public static bool rezerve(Otel otel, string musteriTC, string odaTipi, string manzarası , DateTime start, DateTime end) { double price = 0; //Ücret için double türünde bir değişken tanımladık. int sec = sorgu(otel, musteriTC, odaTipi, manzarası, start, end, true); if (sec < 0) { return(false); } else { if (odaTipi.Equals("Tek Yatakli Oda")) //Oda tipimiz Tek Yatakli Oda şeklinde girilmişse { price = otel.tek[sec].rezervasyonYap(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezerve işlemini yapar. } else if (odaTipi.Equals("Cift Yatakli Oda")) //Oda tipimiz Cift Yatakli Oda şeklinde girilmişse yine aynı şekilde { price = otel.cift[sec].rezervasyonYap(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezerve işlemini yapar. } else if (odaTipi.Equals("Ikiz Yatakli Oda")) //Oda tipimiz Ikiz Yatakli Oda şeklinde girilmişse yine aynı şekilde { price = otel.ikiz[sec].rezervasyonYap(start, end, musteriTC); //başlangıç,bitiş tarihleri ve müsteriTc parametrelerini alıp rezerve işlemini yapar. } //Ucret hesaplama kısmı Console.WriteLine("Toplam ucret = " + price); return(true); } }
static void Main(string[] args) { //yyyy:mm:dd DateTime start; DateTime end; Otel otel = new Otel(); //end = start.AddDays(0); // üzerine 3 gün saydım while (!false) { Console.WriteLine("XİADİE OTEL"); Console.WriteLine("1->Rezervasyon Seçimi 2->Rezervasyon İptal 3->İstatistik Sorgu 0->Çıkış"); int choice = Int32.Parse(Console.ReadLine()); switch (choice) { case 1: { Console.WriteLine("İstenilen tüm bilgileri istenilen formatta giriniz"); Console.WriteLine("Isim gir: "); string name = Console.ReadLine(); Console.WriteLine("oda tipi giriniz: Tek Yatakli Oda - Cift Yatakli Oda - Ikiz Yatakli Oda"); string tipi = Console.ReadLine(); //Yatak Tipi Seçimi Console.WriteLine("manzara giriniz: Havuz - Orman - Deniz"); string manzarası = Console.ReadLine(); //Manzara Seçimi Console.WriteLine("Baslangıc Tarihi gir: Format ->> YYYY-MM-DD"); string tarih = Console.ReadLine(); //Otele girilmek istenen tarih start = DateTime.Parse(tarih); Console.WriteLine("Kac gun kalacaksiniz"); //Otelde bulunulacak süre int kacgun = Int32.Parse(Console.ReadLine()); end = start.AddDays(kacgun); //bitiş için if (Rezervasyon.rezerve(otel, name, tipi, manzarası, start, end)) { Console.WriteLine("REZERVASYON YAPILDI"); } else { Console.WriteLine("Rezervasyon yapılamadı"); //yanlış giriş yapıldıgında } break; } case 2: //Rezervasyonu iptal etmek için rezervasyon yapılan bilgiler girilip iptal oluyor { Console.WriteLine("Isim gir: "); string name = Console.ReadLine(); Console.WriteLine("oda tipi giriniz: Tek Yatakli Oda - Cift Yatakli Oda - Ikiz Yatakli Oda"); string tipi = Console.ReadLine(); Console.WriteLine("manzara giriniz: Havuz - Orman - Deniz"); string manzarası = Console.ReadLine(); Console.WriteLine("Baslangıc Tarihi gir: Format ->> YYYY-MM-DD"); string tarih = Console.ReadLine(); start = DateTime.Parse(tarih); Console.WriteLine("Kac gun kalmıstınız"); int kacgun = Int32.Parse(Console.ReadLine()); end = start.AddDays(kacgun); if (Rezervasyon.iptal(otel, name, tipi, manzarası, start, end)) { Console.WriteLine("REZEVRVASYON IPTALI BASARILI"); } else { Console.WriteLine("Rezervasyon iptali başarısız"); } break; } case 3: { Rezervasyon.istatistikSorgu(otel); //Otelin bugünlük sorgusu break; } case 0: { return; } } } }
// Sorgu tipi ekleme ise true döner; iptal ise false döner. public static int sorgu(Otel otel, string musteriTC, string odaTipi, string manzarası , DateTime start, DateTime end, bool sorguTipi) { //Yatak tipi ve manzarasına göre oda müsaitlik sorgusu //Tek Yatakli Oda için sorgu. //Daha sonra "Tek Yatakli Oda" nın Orman,Deniz ve Havuz manzara sorgusu. if (odaTipi.Equals("Tek Yatakli Oda")) { if (manzarası.Equals("Orman")) { for (int i = 0; i <= 3; i++) { if (otel.tek[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.tek[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Deniz")) { for (int i = 4; i <= 7; i++) { if (otel.tek[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.tek[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Havuz")) { for (int i = 8; i <= 11; i++) { if (otel.tek[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.tek[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } } //Ikiz Yatakli Oda için sorgu. //Daha sonra "Ikiz Yatakli Oda" nın Orman,Deniz ve Havuz manzara sorgusu. else if (odaTipi.Equals("Ikiz Yatakli Oda")) { if (manzarası.Equals("Orman")) { for (int i = 0; i <= 3; i++) { if (otel.ikiz[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.ikiz[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Deniz")) { for (int i = 4; i <= 7; i++) { if (otel.ikiz[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.ikiz[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Havuz")) { for (int i = 8; i <= 11; i++) { if (otel.ikiz[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.ikiz[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } } //Cift Yatakli Oda için sorgu. //Daha sonra "Cift Yatakli Oda" nın Orman,Deniz ve Havuz manzara sorgusu. else if (odaTipi.Equals("Cift Yatakli Oda")) { if (manzarası.Equals("Orman")) { for (int i = 0; i <= 3; i++) { if (otel.cift[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.cift[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Deniz")) { for (int i = 4; i <= 7; i++) { if (otel.cift[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.cift[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } else if (manzarası.Equals("Havuz")) { for (int i = 8; i <= 11; i++) { if (otel.cift[i].rezervasyonSorgu(start, end)) { return(i); } else if (!otel.cift[i].rezervasyonSorgu(start, end) && !sorguTipi) { return(i); } } } } return(-1); }
//İstatiksel Sorgu ile otelimizin doluluk oranına bakıyoruz. public static void istatistikSorgu(Otel otel) { otel.dolulukOranı(); }