private void platiKartuButton_Click(object sender, EventArgs e) { string ime = imeTextBox.Text; string prezime = prezimeTextBox.Text; string oib = oibTextBox.Text; string brojKartice = brojKarticeTextBox.Text.Replace(" ", ""); bool provjeraPodataka = ProvjeriPodatke(ime, prezime, oib, brojKartice); if (provjeraPodataka == true) { bool provjeraOIB = (RepozitorijSkyFlyReservation.prijavljeniKorisnik.OIBKorisnika == oib) ? true : false; bool provjeraKartice = ProvjeriRacun(brojKartice); bool provjeraStanja = ProvjeriStanje(); Racun racun = RepozitorijSkyFlyReservation.DohvatiRacunKorisnika(RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnikId); if (provjeraOIB == false) { MessageBox.Show("Unijeli ste pogrešan OIB."); return; } if (provjeraKartice == false) { MessageBox.Show("Unijeli ste pogrešan broj kartice."); return; } if (provjeraStanja == false) { MessageBox.Show($"Nedovoljan iznos na računu za provođenje transakcije.\nStanje racuna: {racun.StanjeRacuna} HRK"); return; } else { int numAffectedRowsInsert = RepozitorijSkyFlyReservation.DodajKupnjuKarte(selektiraniLet, selektiranoSjedalo, RepozitorijSkyFlyReservation.prijavljeniKorisnik.KorisnikId); int numAffectedRowsUpdate = RepozitorijSkyFlyReservation.AzurirajBrojSlobodnihMjesta(selektiraniLet); int numAffectedRowsUpdateStanjeRacunaPlatitelja = RepozitorijSkyFlyReservation.AzurirajStanjeRacunaPlatitelja(racun, selektiraniLet); int numAffectedRowsUpdateStanjeRacunaPrimatelja = RepozitorijSkyFlyReservation.AzurirajStanjeRacunaPrimatelja(selektiraniLet); if (numAffectedRowsInsert > 0 && numAffectedRowsUpdate > 0 && numAffectedRowsUpdateStanjeRacunaPlatitelja > 0 && numAffectedRowsUpdateStanjeRacunaPrimatelja > 0) { MessageBox.Show($"Uspješno ste kupili kartu za sjedalo {selektiranoSjedalo.OznakaSjedala} na letu {selektiraniLet.PolazisniAerodrom.NazivAerodroma}->{selektiraniLet.OdredisniAerodrom.NazivAerodroma}.\n\nNa Vašu e-mail adresu poslani su detalji o kupljenoj karti."); PošaljiKartu(selektiraniLet, selektiranoSjedalo); this.Close(); } } } }
private void rezervirajSjedaloButton_Click(object sender, EventArgs e) { if ((selektiraniLet.DatumPolaska.Date.Day - DateTime.Now.Date.Day) < 3 && (selektiraniLet.DatumDolaska.Date.Month == DateTime.Now.Date.Month)) { MessageBox.Show($"Rok za rezervaciju karata za let {selektiraniLet.PolazisniAerodrom.NazivAerodroma}->{selektiraniLet.OdredisniAerodrom.NazivAerodroma} je istekao."); return; } if (odabranoSjedalo == null) { MessageBox.Show("Niste odabrali sjedalo za koje želite rezervirati kartu."); return; } if (odabranoSjedalo.BackColor == Color.Red) { MessageBox.Show($"Sjedalo {odabranoSjedalo.Name} na letu {selektiraniLet.PolazisniAerodrom.NazivAerodroma}->{selektiraniLet.OdredisniAerodrom.NazivAerodroma} je zauzeto."); return; } else { Sjedalo sjedalo = RepozitorijSkyFlyReservation.DohvatiSjedalo(odabranoSjedalo.Name); Rezervacija rezervacija = new Rezervacija() { LetRezervacije = selektiraniLet, KorisnikRezervacije = RepozitorijSkyFlyReservation.prijavljeniKorisnik, RezerviranoSjedalo = sjedalo, DatumVrijemeRezervacije = DateTime.Now }; int numAffectedRowsInsert = RepozitorijSkyFlyReservation.DodajRezervacijuKarte(rezervacija); int numAffectedRowsUpdate = RepozitorijSkyFlyReservation.AzurirajBrojSlobodnihMjesta(selektiraniLet); if (numAffectedRowsInsert > 0 && numAffectedRowsUpdate > 0) { MessageBox.Show($"Uspješno ste rezervirali sjedalo {sjedalo.OznakaSjedala} na letu {selektiraniLet.PolazisniAerodrom.NazivAerodroma}->{selektiraniLet.OdredisniAerodrom.NazivAerodroma}.\n\nNa Vašu e-mail adresu poslani su podaci za plaćanje."); PošaljiObavijest(selektiraniLet, sjedalo); OsvjeziSjedalaUAvionu(RepozitorijSkyFlyReservation.DohvatiRezerviranaSjedala(selektiraniLet)); } else { MessageBox.Show("Dogodila se pogreška kod rezervacije sjedala.Rezervacija nije evidentirana."); this.Close(); return; } } }