private void rezervacije_btn_Click(object sender, RoutedEventArgs e) { this.Hide(); KorisnikRezervacije kr = new KorisnikRezervacije(); kr.ShowDialog(); }
private void emesta_btn_Click(object sender, RoutedEventArgs e) { if (emesta_cb.Text != String.Empty) { try { using (BazaDataContext DC = new BazaDataContext()) { int id = int.Parse(Application.Current.Properties["ID"].ToString()); var query = from Rezervacija in DC.Rezervacijas where Rezervacija.IDKorisnika == id select new { Rezervacija.IPKorisnika, Rezervacija.AKNaziv, Rezervacija.Sedista, Rezervacija.Klasa, Rezervacija.PolazakDrzava, Rezervacija.PolazakGrad, Rezervacija.DestinacijaDrzava, Rezervacija.DestinacijaGrad, Rezervacija.PolazakDatum, Rezervacija.Polazak, Rezervacija.DolazakDatum, Rezervacija.Dolazak, Rezervacija.PovratakPolazakVreme, Rezervacija.PovratakPolazakDatum, Rezervacija.PovratakDolazakVreme, Rezervacija.PovratakDolazakDatum, Rezervacija.Cena }; var test = from Rezervacija in DC.Rezervacijas where Rezervacija.ID.Equals(erez_cb.Text) select Rezervacija; var rez = test.FirstOrDefault(); rez.Sedista = int.Parse(emesta_cb.Text); //automatsko podesavanje mesta i cene prilikom izmene mesta var aquery = from Rezervacija in DC.Rezervacijas where Rezervacija.ID.Equals(erez_cb.Text) select Rezervacija; var ares = aquery.SingleOrDefault(); var aquery1 = from Let in DC.Lets where Let.ID == ares.IDLeta select Let; var ares1 = aquery1.SingleOrDefault(); int rezervisanomesta, izmenamesta; int.TryParse(rezmesta_tb.Text, out rezervisanomesta); int.TryParse(emesta_cb.Text, out izmenamesta); int razlikax = izmenamesta - rezervisanomesta; if (ares1.SedistaPolazak >= razlikax) { if (ares.Karta == "Jedan pravac") { if (int.Parse(rezmesta_tb.Text) <= int.Parse(emesta_cb.Text)) { //mesta int razlika = izmenamesta - rezervisanomesta; ares1.SedistaPolazak = ares1.SedistaPolazak - razlika; //izracunavanje cene ares.Cena = (ares.Cena / rezervisanomesta) * izmenamesta; } else { //mesta int razlika = rezervisanomesta - izmenamesta; ares1.SedistaPolazak = ares1.SedistaPolazak + razlika; //izracunavanje cene ares.Cena = (ares.Cena / rezervisanomesta) * izmenamesta; } } else { if (int.Parse(rezmesta_tb.Text) <= int.Parse(emesta_cb.Text)) { //mesta int razlika = izmenamesta - rezervisanomesta; ares1.SedistaPolazak = ares1.SedistaPolazak - razlika; ares1.SedistaPovratak = ares1.SedistaPovratak - razlika; //izracunavanje cene ares.Cena = (ares.Cena / rezervisanomesta) * izmenamesta; } else { //mesta int razlika = rezervisanomesta - izmenamesta; ares1.SedistaPolazak = ares1.SedistaPolazak + razlika; ares1.SedistaPovratak = ares1.SedistaPovratak + razlika; //izracunavanje cene ares.Cena = (ares.Cena / rezervisanomesta) * izmenamesta; } } ///////////////////////////////////////////////// DC.SubmitChanges(); dataGrid_reservations.ItemsSource = null; dataGrid_reservations.ItemsSource = query; dataGrid_reservations.Items.Refresh(); MessageBox.Show("Uspesno ste izmenili mesta vase rezervacije!", "Potvrda", MessageBoxButton.OK, MessageBoxImage.Information); erez_cb.SelectedIndex = -1; eklasa_cb.SelectedIndex = -1; emesta_cb.SelectedIndex = -1; canvas_erez.Visibility = Visibility.Hidden; this.Hide(); KorisnikRezervacije kr = new KorisnikRezervacije(); kr.ShowDialog(); } else { MessageBox.Show("Uneli ste veći broj mesta nego sto je preostalo!", "Potvrda", MessageBoxButton.OK, MessageBoxImage.Warning); } } } catch (System.Data.SqlClient.SqlException fe) { MessageBox.Show("Došlo je do greške! " + fe, "Obaveštenje, MessageBoxButton.OK, MessageBoxImage.Warning"); } } else { MessageBox.Show("Polje 'Mesta' mora biti popunjeno!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void potvrdirez_btn_Click(object sender, RoutedEventArgs e) { if (idleta_cb.Text != String.Empty && sedista_cb.Text != String.Empty && klasa_cb.Text != String.Empty && polaziste_tb.Text != String.Empty && destinacija_tb.Text != String.Empty && dpolaska_tb.Text != String.Empty && dpovratka_tb.Text != String.Empty && ukupnacena_tb.Text != String.Empty) { try { BazaDataContext bdc = new BazaDataContext(); int id = int.Parse(Application.Current.Properties["ID"].ToString()); // id korisnika var upit = from Let in bdc.Lets where Let.ID.Equals(idleta_cb.SelectedValue) select Let; var upit1 = from Korisnik in bdc.Korisniks where Korisnik.ID == id select Korisnik; var res = upit.FirstOrDefault(); var res1 = upit1.FirstOrDefault(); var upit2 = from AvioKompanija in bdc.AvioKompanijas where AvioKompanija.ID == res.AKID select AvioKompanija; var res2 = upit2.FirstOrDefault(); var rezerv = from Rezervacija in bdc.Rezervacijas where Rezervacija.IDLeta == int.Parse(idleta_cb.Text) && Rezervacija.IDKorisnika == id select Rezervacija; var rezultat = rezerv.Any(); if (rezerv.Any()) { MessageBox.Show("Vec imate rezervaciju za ovaj let!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (res.SedistaPolazak < int.Parse(sedista_cb.Text)) { MessageBox.Show("Ovaj let nema toliko slobodnih mesta!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (povratna_rb.IsChecked == false && jedanpravac_rb.IsChecked == false) { MessageBox.Show("Prvo odaberite da li zelite povratnu ili kartu u jednom pravcu!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } else { Rezervacija rez = new Rezervacija(); rez.IDLeta = int.Parse(idleta_cb.Text); rez.IDKorisnika = id; rez.IPKorisnika = res1.ImePrezime; rez.AKID = res2.ID; rez.AKNaziv = res2.NazivAvioKompanije; rez.LetBR = res.LetBR; rez.Sedista = int.Parse(sedista_cb.Text); rez.Klasa = klasa_cb.Text; if (povratna_rb.IsChecked == true) { rez.Karta = "Povratna"; //smanjivanje broja sedista res.SedistaPolazak = res.SedistaPolazak - int.Parse(sedista_cb.Text); res.SedistaPovratak = res.SedistaPovratak - int.Parse(sedista_cb.Text); bdc.SubmitChanges(); } else { rez.Karta = "Jedan pravac"; res.SedistaPolazak = res.SedistaPolazak - int.Parse(sedista_cb.Text); bdc.SubmitChanges(); } rez.PolazakDrzava = res.PolazakDrzava; rez.PolazakGrad = res.PolazakGrad; rez.DestinacijaDrzava = res.DestinacijaDrzava; rez.DestinacijaGrad = res.DestinacijaGrad; rez.Polazak = res.Polazak; rez.PolazakDatum = res.PolazakDatum; rez.Dolazak = res.Dolazak; rez.DolazakDatum = res.DolazakDatum; rez.PovratakPolazakVreme = res.PovratakPolazakVreme; rez.PovratakPolazakDatum = res.PovratakPolazakDatum; rez.PovratakDolazakVreme = res.PovratakDolazakVreme; rez.PovratakDolazakDatum = res.PovratakDolazakDatum; rez.Cena = double.Parse(ukupnacena_tb.Text); bdc.Rezervacijas.InsertOnSubmit(rez); bdc.SubmitChanges(); MessageBox.Show("Uspesno ste rezervisali avio kartu!", "INFO", MessageBoxButton.OK, MessageBoxImage.Information); this.Hide(); KorisnikRezervacije kr = new KorisnikRezervacije(); kr.ShowDialog(); } } catch (System.Data.SqlClient.SqlException ex) { MessageBox.Show("Došlo je do greške! " + ex, "Obaveštenje", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Sva polja moraju biti popunjena!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } }
private void obrisirez_btn_Click(object sender, RoutedEventArgs e) { if (obrrez_cb.Text != String.Empty) { try { BazaDataContext bdc = new BazaDataContext(); //automatsko podesavanje mesta prilikom brisanja var aquery = from Rezervacija in bdc.Rezervacijas where Rezervacija.ID.Equals(obrrez_cb.Text) select Rezervacija; var ares = aquery.SingleOrDefault(); var aquery1 = from Let in bdc.Lets where Let.ID == ares.IDLeta select Let; var ares1 = aquery1.SingleOrDefault(); if (ares.Karta == "Jedan pravac") { ares1.SedistaPolazak = ares1.SedistaPolazak + ares.Sedista; bdc.SubmitChanges(); } else { ares1.SedistaPolazak = ares1.SedistaPolazak + ares.Sedista; ares1.SedistaPovratak = ares1.SedistaPovratak + ares.Sedista; bdc.SubmitChanges(); } //brisanje Rezervacija int broj = int.Parse(obrrez_cb.SelectedValue.ToString()); int id = int.Parse(Application.Current.Properties["ID"].ToString()); var query = from Rezervacija in bdc.Rezervacijas where Rezervacija.IDKorisnika == id select new { Rezervacija.IPKorisnika, Rezervacija.AKNaziv, Rezervacija.Sedista, Rezervacija.Klasa, Rezervacija.PolazakDrzava, Rezervacija.PolazakGrad, Rezervacija.DestinacijaDrzava, Rezervacija.DestinacijaGrad, Rezervacija.PolazakDatum, Rezervacija.Polazak, Rezervacija.DolazakDatum, Rezervacija.Dolazak, Rezervacija.PovratakPolazakVreme, Rezervacija.PovratakPolazakDatum, Rezervacija.PovratakDolazakVreme, Rezervacija.PovratakDolazakDatum, Rezervacija.Cena }; var upit = from Rezervacija in bdc.Rezervacijas where Rezervacija.ID == broj select Rezervacija; bdc.Rezervacijas.DeleteAllOnSubmit(upit); bdc.SubmitChanges(); dataGrid_reservations.ItemsSource = null; dataGrid_reservations.ItemsSource = query; dataGrid_reservations.Items.Refresh(); MessageBox.Show("Uspesno ste obrisali rezervaciju!", "Potvrda", MessageBoxButton.OK, MessageBoxImage.Information); obrrez_cb.SelectedIndex = -1; obrrez_cb.Items.Clear(); canvas_delrez.Visibility = Visibility.Hidden; this.Hide(); KorisnikRezervacije kr = new KorisnikRezervacije(); kr.ShowDialog(); } catch (System.Data.SqlClient.SqlException fe) { MessageBox.Show("Došlo je do greške! " + fe, "Obaveštenje", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Polje 'ID rezervacije za brisanje' mora biti popunjeno!", "INFO", MessageBoxButton.OK, MessageBoxImage.Warning); } }