private void azurirajLetButton_Click(object sender, EventArgs e) { Let odabraniLet = DohvatiSelektiraniLet(); if (odabraniLet == null) { MessageBox.Show("Niste odabrali let koji želite ažurirati."); return; } Aerodrom polazisniAerodrom = polazisniComboBox.SelectedItem as Aerodrom; Aerodrom odredisniAerodrom = odredisniComboBox.SelectedItem as Aerodrom; Avion avionNaLetu = avionNaLetuComboBox.SelectedItem as Avion; DateTime datumPolaska = datumVrijemePolaskaDateTimePicker.Value; DateTime datumDolaska = datumVrijemeDolaskaDateTimePicker.Value; double cijenaKarte = double.Parse(cijenaKarteTextBox.Text); bool provjeraPodataka = ProvjeriPodatke(polazisniAerodrom, odredisniAerodrom, datumPolaska, datumDolaska); if (provjeraPodataka == true) { int brojRezervacija = odabraniLet.AvionNaLetu.BrojMjesta - odabraniLet.BrojSlobodnihMjesta; if (brojRezervacija > avionNaLetu.BrojMjesta) { MessageBox.Show($"Na letu {odabraniLet.BrojLeta} je rezervirano {odabraniLet.AvionNaLetu.BrojMjesta - odabraniLet.BrojSlobodnihMjesta} sjedala.\nAvion {avionNaLetu.ProizvodacAviona} {avionNaLetu.ModelAviona} nema dovoljno sjedala."); return; } string noviBrojLeta = odabraniLet.BrojLeta; if ((odabraniLet.PolazisniAerodrom.AerodromId != polazisniAerodrom.AerodromId) || (odabraniLet.OdredisniAerodrom.AerodromId != odredisniAerodrom.AerodromId)) { string brojLeta = odabraniLet.BrojLeta; int broj = int.Parse(brojLeta.Substring(3, 5)); noviBrojLeta = polazisniAerodrom.OznakaAerodroma + broj + odredisniAerodrom.OznakaAerodroma; } odabraniLet.BrojLeta = noviBrojLeta; odabraniLet.PolazisniAerodrom = polazisniAerodrom; odabraniLet.OdredisniAerodrom = odredisniAerodrom; odabraniLet.AvionNaLetu = avionNaLetu; odabraniLet.DatumPolaska = datumPolaska; odabraniLet.DatumDolaska = datumDolaska; odabraniLet.CijenaKarte = cijenaKarte; odabraniLet.BrojSlobodnihMjesta = avionNaLetu.BrojMjesta - brojRezervacija; int numAffectedRows = RepozitorijSkyFlyReservation.AzurirajLet(odabraniLet); if (numAffectedRows > 0) { MessageBox.Show($"Let {polazisniAerodrom.NazivAerodroma}->{odredisniAerodrom.NazivAerodroma} je uspješno ažuriran."); } } if (RepozitorijSkyFlyReservation.prijavljeniKorisnik.UlogaKorisnika != UlogaKorisnika.Owner) { nazivAviokompanijeLabel.Text = RepozitorijSkyFlyReservation.prijavljeniKorisnik.Aviokompanija.NazivAviokompanije; OsvjeziDGV(RepozitorijSkyFlyReservation.DohvatiLetove(RepozitorijSkyFlyReservation.prijavljeniKorisnik.Aviokompanija.AviokompanijaId)); OsvjeziComboBox(); } if (RepozitorijSkyFlyReservation.prijavljeniKorisnik.UlogaKorisnika == UlogaKorisnika.Owner) { popisLetovaLabel.Text = "Popis letova"; OsvjeziDGV(RepozitorijSkyFlyReservation.DohvatiSveLetove()); OsvjeziComboBox(); } }