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);
            }
        }