protected void btnRezervasyonIptalOlay(object sender, EventArgs e)//rezervasyonu siler { Rezervasyon rez = new Rezervasyon(null, null) { rezervasyonKodu = lblRezKod.Text }; List <Rezervasyon> rezervasyonGetir = new List <Rezervasyon>(); rezervasyonGetir = db.RezervasyonSorgulaSelect(rez); rez.odaID = rezervasyonGetir[0].odaID; rez.gelisTarihi = rezervasyonGetir[0].gelisTarihi; rez.gidisTarihi = rezervasyonGetir[0].gidisTarihi; DolulukTakvimi dolulukTakvimi = new DolulukTakvimi() { odaID = rez.odaID }; db.DolulukTakvimiDelete(dolulukTakvimi, rez.gelisTarihi, rez.gidisTarihi);//silinen rezervasyondaki odayı rezervasyon tarihlerinde doluluk takviminden siler db.RezervasyonDelete(rez); HtmlMeta meta = new HtmlMeta(); meta.HttpEquiv = "Refresh"; meta.Content = "2;url=rezervasyonSorgulama.aspx"; this.Page.Controls.Add(meta); lblOnay.Visible = true; lblOnay.Text = "İşleminiz tamamlandı , 2 saniye sonra yönlendirileceksiniz."; }
protected void btnCheckOut_Click(object sender, EventArgs e) { if (rptDigerKisiler.Items.Count == 0 && Convert.ToDouble(txtCheckOutMisafirToplamUCret.Text) > 0)//odada kalan son kişi ücreti ödemedii sürece çıkış verilmez { lblHata.Visible = true; lblHata.Text = "Ücret almadınız.Çıkış onaylanmadı."; } else if ((txtCheckOutMisafirToplamUCret.Text == "" || Convert.ToDouble(txtCheckOutMisafirToplamUCret.Text) == 0) && rptDigerKisiler.Items.Count == 0) { Konaklamalar misafirCikisVer = new Konaklamalar(null) { tcKimlik = txtKimlikNo.Text }; db.KonaklamalarDelete(misafirCikisVer); Odalar odalar = new Odalar(null, null) { odaNo = Convert.ToInt32(txtCheckOutMisafirOdaNo.Text) }; List <Konaklamalar> konaklamalarListele = new List <Konaklamalar>(); konaklamalarListele = db.odaBulunanKonaklamalarSelect(odalar.odaNo); DolulukTakvimi dolulukTakvimi = new DolulukTakvimi() { odaID = db.OdalarNoyuIdyeCevir(odalar).id }; if (konaklamalarListele.Count >= 0) //odada kalan son kişi de çıkış yaptığında erken çıkışta oda dolalık takviminde gereksiz dolu gözükmesini önlemek için { //çıkıştan bir sonraki günden başlanarak odada kalan kişilerin normal çıkış tarihine kadar odayı doluluk takviminden silerek boş gösterir db.DolulukTakvimiDelete(dolulukTakvimi, DateTime.Today.AddDays(1), Convert.ToDateTime(txtCheckOutMisafirGidisTarihi.Text)); } lblOnay.Visible = true; HtmlMeta meta = new HtmlMeta(); meta.HttpEquiv = "Refresh"; meta.Content = "3;url=konaklamalar.aspx"; this.Page.Controls.Add(meta); lblOnay.Text = "İşlem gerçekleştirildi.3 saniye sonra Konaklamalar sayfasına yönlendiriliyorsunuz."; } else { lblHata.Visible = false; Konaklamalar misafirCikisVer = new Konaklamalar(null) { tcKimlik = txtKimlikNo.Text }; db.KonaklamalarDelete(misafirCikisVer); lblOnay.Visible = true; lblOnay.Text = "İşlem gerçekleştirildi."; temizle(); } }
protected void IptalClick(object sender, EventArgs e) { if (rezervasyon.rezervasyonKodu != null) { db.RezervasyonDelete(rezervasyon); DolulukTakvimi dolulukTakvimi = new DolulukTakvimi() { odaID = rezervasyon.odaID }; db.DolulukTakvimiDelete(dolulukTakvimi, rezervasyon.gelisTarihi, rezervasyon.gidisTarihi);//iptal edilen rezervasyondaki odayı rezervasyon tarihlerinde doluluk takviminden siler } Response.Redirect("Default.aspx"); }
protected void btnCheckInOnayla_Click(object sender, EventArgs e) { Konaklamalar konaklamalar = new Konaklamalar(null) { otelID = 1, ad = txtAd.Text, soyad = txtSoyad.Text, gelisTarihi = Convert.ToDateTime(txtGelis.Text), gidisTarihi = Convert.ToDateTime(txtGidis.Text), indirimOrani = Convert.ToInt32(txtIndirim.Text), kat = Convert.ToInt32(txtKat.Text), odaNo = Convert.ToInt32(txtOda.Text), tcKimlik = txtKimlik.Text, telefonNo = txtTelefon.Text, Ucret = Convert.ToDouble(txtUcret.Text) }; db.KonaklamalarInsert(konaklamalar); //rezervasyonu yapılan kişi konaklamaya eklenerek check-in yapılmış olur db.RezervasyonCheckIn(rezervasyon); //kişi rezervasyonda isAsctivi false yapılarak tekrar check-in yapılması engellenir DateTime atananTarih = konaklamalar.gelisTarihi; while (atananTarih <= konaklamalar.gidisTarihi) { DolulukTakvimi dolulukTakvimi = new DolulukTakvimi() { odaID = idAlinanOda.id, doluTarih = atananTarih }; atananTarih = atananTarih.AddDays(1); db.DolulukTakvimiInsert(dolulukTakvimi); } HtmlMeta meta = new HtmlMeta(); meta.HttpEquiv = "Refresh"; meta.Content = "2;url=rezervasyonlar.aspx"; this.Page.Controls.Add(meta); lblOnay.Visible = true; lblOnay.Text = "İşleminiz tamamlandı , 2 saniye sonra yönlendirileceksiniz."; }
protected void OnaylaClick(object sender, EventArgs e) { if (txtAd.Text != "" && txtSoyad.Text != "" && txtEposta.Text != "" && txtCepTel.Text != "" && (radErkek.Checked == true || radKadin.Checked == true)) { List <Odalar> odalarList = new List <Odalar>(); if (kisiSayac == 1) { odalarList = db.OdaMusaitlikDogrula(rezervasyon, odaTipi); //ilk kişi eklenirken o anda istenen oda tipi başka biryerde dolmuş olabilir if (odalarList.Count == 0) //istenen oda tipinde hala boş oda olduğunu onaylamak için tekrar kontrol edilir. { Response.Redirect("Default.aspx"); } rezervasyon.odaID = odalarList[0].id; //hala istenen oda tipinde boş odalar varsa bir oda kişiye atanır. while (rezervasyon.rezervasyonKodu == "" || rezervasyon.rezervasyonKodu == null) //random bir rezervasyon kodu oluşturulur { int harf, bykharf, hangisi; Random Rharf = new Random(); Random Rsayi = new Random(); Random Rbykharf = new Random(); Random Rhangisi = new Random(); for (int b = 0; b < 8; b++) { int a = 0; hangisi = Rhangisi.Next(1, 3); if (hangisi == 1) { rezervasyon.rezervasyonKodu += Rsayi.Next(0, 10).ToString(); } if (hangisi == 2) { harf = Rharf.Next(1, 27); for (char i = 'a'; i <= 'z'; i++) { a++; if (a == harf) { bykharf = Rbykharf.Next(1, 3); if (bykharf == 1) { rezervasyon.rezervasyonKodu += i; } if (bykharf == 2) { rezervasyon.rezervasyonKodu += i.ToString().ToUpper(); } } } } } Rezervasyon rezervasyonKoduAra = new Rezervasyon(null, null) { rezervasyonKodu = rezervasyon.rezervasyonKodu }; List <Rezervasyon> rezervasyons = new List <Rezervasyon>(); rezervasyons = db.RezervasyonSorgulaSelect(rezervasyonKoduAra);//rezervasyon kodunun eşsiz olması için db'de sorgu if (rezervasyons.Count > 0) { rezervasyon.rezervasyonKodu = ""; } } DateTime atananTarih = rezervasyon.gelisTarihi; while (atananTarih <= rezervasyon.gidisTarihi)//istenen odatipinde bulunan odanın seçili rezervasyon tarihleri arasında doluluk takvimine kaydı yapılır { DolulukTakvimi dolulukTakvimi = new DolulukTakvimi() { odaID = odalarList[0].id, doluTarih = atananTarih }; atananTarih = atananTarih.AddDays(1); db.DolulukTakvimiInsert(dolulukTakvimi); } } if (kisiSayac <= odaTipi.odaKapasite)//kişilerin kişi sayısı kadar sürekli kaydı yapılır { Musteri musteri = new Musteri(null) { ad = txtAd.Text, soyad = txtSoyad.Text, ePosta = txtEposta.Text, cepTelefon = txtCepTel.Text, ulke = drpUlke.SelectedItem.ToString(), uyruk = drpUyruk.SelectedItem.ToString() }; if (radErkek.Checked == true) { musteri.cinsiyet = true; } else { musteri.cinsiyet = false; } int musteriID; musteriID = db.MusteriIdGetirInsert(musteri); rezervasyonGir = new Rezervasyon(musteri, null) { gelisTarihi = Convert.ToDateTime(Convert.ToDateTime(txtGelis.Text).ToShortDateString()), gidisTarihi = Convert.ToDateTime(Convert.ToDateTime(txtGidis.Text).ToShortDateString()), indirimOrani = Convert.ToInt32(txtIndirim.Text), ucret = Convert.ToDouble(txtFiyat.Text), musteriID = musteriID, rezervasyonKodu = rezervasyon.rezervasyonKodu, rezervasyonTarihi = DateTime.Now.ToString("yyyy-MM-dd"), odaID = rezervasyon.odaID }; db.RezervasyonInsert(rezervasyonGir); if (kisiSayac < odaTipi.odaKapasite) //hala eklenecek kişiler varsa ekleme yapıldıktan sonra sayfa yenilenmesi sonucu sonraki kişilere { // yeni oda ve farklı rezervasyyon kodu verilmesini önlemek için mevcut eklenen kişinin rezervasyon bilgileri sayfaya 'D2' olarak yeniden yönlendirilir kisiSayac++; string data = "OdaID=" + rezervasyonGir.odaID + "&Fiyat=" + rezervasyonGir.ucret + "&IndirimOrani=" + rezervasyonGir.indirimOrani + "&RezervasyonKodu=" + rezervasyonGir.rezervasyonKodu + "&GelisTarihi=" + rezervasyonGir.gelisTarihi + "&GidisTarihi=" + rezervasyonGir.gidisTarihi + "&KisiSayac=" + kisiSayac + "&OdaKapasite=" + odaTipi.odaKapasite; string hex = ""; foreach (char c in data) { int tmp = c; hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString())); } Response.Redirect("rezervasyonBilgileri.aspx?D2=" + hex); } } if (kisiSayac == odaTipi.odaKapasite)//son kişi de eklendiğinde rezervasyon kodu ile RezervasyonOnayi.aspx ' e yönlendirilir. { string data = rezervasyonGir.rezervasyonKodu; string hex = ""; foreach (char c in data) { int tmp = c; hex += String.Format("{0:x2}", (uint)System.Convert.ToUInt32(tmp.ToString())); } Response.Redirect("RezervasyonOnayi.aspx?D=" + hex); } } }