public void OdaEkle()
        {
            string hataMesaji = "";

            if (string.IsNullOrWhiteSpace(txtOdaNo.Text) || txtOdaNo.Text.Length != 3)
            {
                hataMesaji += "Oda no boş geçilemez ve üç haneli olmalıdır.\n";
            }

            if (cmbOdaKapasitesi.SelectedIndex == -1)
            {
                hataMesaji += "Oda kapasitesi belirtilmedi.\n";
            }

            if (cmbOdaTuru.SelectedIndex == -1)
            {
                hataMesaji += "Oda türü belirtilmedi.\n";
            }

            if (hataMesaji.Length > 0)
            {
                MessageBox.Show(hataMesaji, " ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            Oda oda = new Oda();

            oda.OdaNo       = txtOdaNo.Text;
            oda.Kapasite    = (byte)(int)cmbOdaKapasitesi.SelectedValue;
            oda.OdaTuruEnum = (byte)(int)cmbOdaTuru.SelectedValue;
            oda.Fiyat       = Convert.ToDecimal(txtOdaFiyati.Text);
            _db.Oda.Add(oda);
            _db.SaveChanges();
            MessageBox.Show("Kayıt işlemi başarılı.", "Kaydedildi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            Listele();
        }
        public void OdaSil()
        {
            if (dgvOdaListesi.SelectedRows.Count == 0)
            {
                MessageBox.Show("Silme işlemi yapabilmek için ilk önce silinecek oda seçilmelidir.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            int odaID = (int)dgvOdaListesi.SelectedRows[0].Cells[0].Value;
            Oda oda   = _db.Oda.Find(odaID);

            oda.Silindi = true;
            _db.SaveChanges();
            MessageBox.Show("Silme işlemi başarıyla tamamlandı.", "Silindi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            Listele();
        }
        public void OdaGuncelle()
        {
            if (dgvOdaListesi.SelectedRows.Count == 0)
            {
                MessageBox.Show("Güncelleme işlemi yapabilmek için ilk önce güncellenecek oda seçilmelidir.", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            string hataMesaji = "";

            if (string.IsNullOrWhiteSpace(txtOdaNo.Text) || txtOdaNo.Text.Length != 3)
            {
                hataMesaji += "Oda no boş geçilemez ve üç haneli olmalıdır.\n";
            }

            if (cmbOdaKapasitesi.SelectedIndex == -1)
            {
                hataMesaji += "Oda kapasitesi belirtilmedi.\n";
            }

            if (cmbOdaTuru.SelectedIndex == -1)
            {
                hataMesaji += "Oda türü belirtilmedi.\n";
            }

            if (hataMesaji.Length > 0)
            {
                MessageBox.Show(hataMesaji, " ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            int odaID = (int)dgvOdaListesi.SelectedRows[0].Cells[0].Value;
            Oda oda   = _db.Oda.Find(odaID);

            oda.Kapasite    = (byte)(int)cmbOdaKapasitesi.SelectedValue;
            oda.OdaTuruEnum = (byte)(int)cmbOdaTuru.SelectedValue;
            _db.SaveChanges();
            MessageBox.Show("Oda bilgileri başarıyla güncellendi", "Güncellendi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            Listele();
        }