示例#1
0
        public override string KoltukDurumlariGoster()//Koltukların güncel durumunu gösteren fonksiyonumuz.
        {
            string temp       = "";
            int    kisisayisi = 0;
            int    i;

            for (i = 0; i < 60; i++)
            {
                Koltuk k = GetElement(i);
                try
                {
                    if (k.KoltukDurum == true)
                    {
                        temp += "Koltuk" + (i + 1) + "-->" + k.musteri.ad + " " + k.musteri.soyad + "   ";
                        kisisayisi++;
                    }
                    else
                    {
                        temp += "Koltuk" + (i + 1) + "-->" + "Boş" + "                      ";
                    }
                    if (i % 2 == 0)//Messegebox listesini ikiye bölmek açısından bir kod
                    {
                        temp += Environment.NewLine;
                    }
                }
                catch (Exception)
                {
                }
            }


            temp += "---Salondaki kişi sayisi:" + kisisayisi.ToString() + "---";
            return(temp);
        }
示例#2
0
        public void TumMasalariAyarla()//60 koltuğun yaratıldığı anda boş olmasını sağlayan fonksiyonumuz.
        {
            Koltuk newlast = new Koltuk();

            if (Head == null)
            {
                Head = newlast;
            }
            else
            {
                Koltuk son = Head;
                while (son != null)

                {
                    if (son.Next != null)
                    {
                        son = son.Next;
                    }
                    else
                    {
                        break;
                    }
                }
                son.Next = newlast;
            }


            Size++;
        }
示例#3
0
 public override void DeleteLast()
 {
     if (Head != null)
     {
         if (Head.Next == null)
         {
             Head.KoltukDurum = false;
             Head             = null;
         }
         else
         {
             Koltuk sondanbir = Head;
             Koltuk son       = Head;
             while (son != null)
             {
                 if (son.Next != null)
                 {
                     sondanbir = son;
                     son       = son.Next;
                 }
                 else
                 {
                     break;
                 }
             }
             son.KoltukDurum = false;
             sondanbir.Next  = null;
         }
         Size--;
     }
 }
示例#4
0
        public override void InsertLast(Musteri m)
        {
            if (Head == null)
            {
                InsertFirst(m);
            }
            else
            {
                Koltuk son     = Head;
                Koltuk newlast = new Koltuk()
                {
                    musteri = m
                };
                while (son != null)

                {
                    if (son.Next != null)
                    {
                        son = son.Next;
                    }
                    else
                    {
                        break;
                    }
                }
                son.Next            = newlast;
                newlast.KoltukDurum = true;
            }
            Size++;
        }
示例#5
0
        public override string DisplayElements()
        {
            string temp = "";
            Koltuk item = Head;

            while (item != null)
            {
                temp += "-->" + item.musteri.ad + " " + item.musteri.soyad;
                item  = item.Next;
            }

            return(temp);
        }
示例#6
0
 public override void DeleteFirst()
 {
     if (Head != null)
     {
         Head.KoltukDurum = false;
         if (Head.Next == null)
         {
             Head = null;
         }
         else
         {
             Koltuk tmphead = Head.Next;
             Head = tmphead;
         }
     }
     Size--;
 }
示例#7
0
        public override Koltuk GetElement(int position)
        {
            //Geri dönülecek eleman
            Koltuk retNode = null;
            //Head'den başlanarak Next node'a gidilecek
            Koltuk tempNode = Head;
            int    count    = 0;

            while (tempNode != null)
            {
                if (count == position)
                {
                    retNode = tempNode;
                    break;
                }
                //Next node'a git
                tempNode = tempNode.Next;
                count++;
            }
            return(retNode);
        }
示例#8
0
        public override void InsertFirst(Musteri m)
        {
            Koltuk tmpHead = new Koltuk
            {
                musteri = m
            };

            tmpHead.KoltukDurum = true;
            if (Head == null)
            {
                Head = tmpHead;
            }
            else
            {
                //En kritik nokta: tmpHead'in next'i eski Head'i göstermeli
                tmpHead.Next = Head;
                //Yeni Head artık tmpHead oldu
                Head = tmpHead;
            }
            //Bağlı listedeki eleman sayısı bir arttı
            Size++;
        }
示例#9
0
        public override void DeletePos(int position)
        {
            int i = 2;

            if (position == 1)
            {
                DeleteFirst();
            }
            else if (position == Size)
            {
                DeleteLast();
            }
            else
            {
                if (Head != null)
                {
                    Koltuk tmphead = Head;
                    Koltuk onceki  = Head;
                    while (tmphead != null)
                    {
                        if (tmphead.Next != null)
                        {
                            tmphead = tmphead.Next;
                            i++;
                            if (i == position)
                            {
                                onceki = tmphead;
                            }
                            else if (i == position + 1)
                            {
                                onceki.Next = tmphead.Next;
                                break;
                            }
                        }
                    }
                }
                Size--;
            }
        }
示例#10
0
        public override void InsertPos(int position, Musteri m)
        {
            Koltuk tmphead = Head;

            Koltuk newnode = new Koltuk()
            {
                musteri = m
            };

            if (position == 1)
            {
                InsertFirst(m);
            }
            else if (position == Size + 1)
            {
                InsertLast(m);
            }
            else
            {
                int i = 2;
                while (tmphead != null)
                {
                    if (position == i)
                    {
                        newnode.Next = tmphead.Next;
                        tmphead.Next = newnode;
                        break;
                    }
                    if (tmphead.Next != null)
                    {
                        tmphead = tmphead.Next;
                        i++;
                    }
                }
                newnode.KoltukDurum = true;
                Size++;
            }
        }
示例#11
0
 private void btnIslem_Click(object sender, EventArgs e)
 {
     if (rbRandevuAl.Checked)
     {
         if (txtAd.Text == "" || txtSoyad.Text == "" || cmbKoltukNo.Text == "")
         {
             MessageBox.Show("Lutfen bos alanlari doldurun");
         }
         else
         {
             Musteri m = new Musteri();
             m.ad    = txtAd.Text;
             m.soyad = txtSoyad.Text;
             int    KoltukNo = Int32.Parse(cmbKoltukNo.Text);
             Koltuk k        = ll.GetElement(KoltukNo - 1);
             if (k.KoltukDurum == false)
             {
                 ll.DeletePos(KoltukNo); //Koltuğa randevu  alırken öncelikle DeletePos() ile boşaltıp sonra InsertPos() ile randevu alıyoruz.
                 ll.InsertPos(KoltukNo, m);
                 MessageBox.Show("Randevu işlemi onaylanmıştır");
             }
             else //randevu alırken koltuğun boş olması gerekiyor.
             {
                 MessageBox.Show("Bu koltuk baskasi tarafindan randevu edilmistir!");
             }
         }
     }
     else if (rbRandevuIptal.Checked)
     {
         if (cmbKoltukNo.Text == "")
         {
             MessageBox.Show("Lutfen koltuk numaranisini bos birakmayiniz");
         }
         else
         {
             int    KoltukNo = Int32.Parse(cmbKoltukNo.Text);
             Koltuk k        = ll.GetElement(KoltukNo - 1);
             if (k.KoltukDurum == true)
             {
                 ll.DeletePos(KoltukNo);
                 MessageBox.Show("Randevu işlemi iptal edilmiştir");
             }
             else
             {//randevu iptal etmek için koltuğun dolu olması gerekiyor.
                 MessageBox.Show("Boş bir koltukta randevu iptal edemezsiniz");
             }
         }
     }
     else if (rbKoltukNoOgren.Checked)
     {
         if (txtAd.Text == "" || txtSoyad.Text == "")
         {
             MessageBox.Show("Lutfen adinizi veya soyadinizi bos birakmayiniz");
         }
         else
         {
             Musteri m = new Musteri();
             m.ad    = txtAd.Text;
             m.soyad = txtSoyad.Text;
             int i;
             int bulundu = 0;
             for (i = 0; i < 60; i++)
             {
                 Koltuk koltuk = ll.GetElement(i);
                 try
                 {
                     if (koltuk.KoltukDurum == true)//ad soyadı girerek randevunuzu sorgulayabiliyorsunuz.
                     {
                         if (koltuk.musteri.ad == m.ad && koltuk.musteri.soyad == m.soyad)
                         {
                             bulundu = 1;
                             break;
                         }
                     }
                 }
                 catch (Exception)
                 {
                 }
             }
             if (bulundu == 0)
             {
                 MessageBox.Show("Malesef randevunuz bulunmamaktadir.");
             }
             else
             {
                 i++;
                 MessageBox.Show("Koltuk numaraniz:" + i);
             }
         }
     }
 }