//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);
            }
        }
예제 #3
0
        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ı();
 }