예제 #1
0
        private void platiRezervacijuButton_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 numAffectedRows = RepozitorijSkyFlyReservation.AzurirajRezervaciju(selektiranaRezervacija);
                    int numAffectedRowsUpdateStanjeRacunaPlatitelja = RepozitorijSkyFlyReservation.AzurirajStanjeRacunaPlatitelja(racun, selektiranaRezervacija.LetRezervacije);
                    int numAffectedRowsUpdateStanjeRacunaPrimatelja = RepozitorijSkyFlyReservation.AzurirajStanjeRacunaPrimatelja(selektiranaRezervacija.LetRezervacije);

                    if (numAffectedRows > 0 && numAffectedRowsUpdateStanjeRacunaPlatitelja > 0 && numAffectedRowsUpdateStanjeRacunaPrimatelja > 0)
                    {
                        MessageBox.Show($"Uspješno ste platili rezervaciju za sjedalo {selektiranaRezervacija.RezerviranoSjedalo.OznakaSjedala} na letu {selektiranaRezervacija.LetRezervacije.PolazisniAerodrom.NazivAerodroma}->{selektiranaRezervacija.LetRezervacije.OdredisniAerodrom.NazivAerodroma}.");
                        PošaljiKartu(selektiranaRezervacija);
                        this.Close();
                    }
                }
            }
        }