public override object IzvrsiKonkretnuSO(OpstiDomenskiObjekat odo)
        {
            Rezervacija r = odo as Rezervacija;

            Broker.DajSesiju().IzmeniUslovPrimarni(r);

            //moram da zapamtim i stavke kao slab objekat
            StavkaRezervacije sr = new StavkaRezervacije();

            //kako ne bi doslo do dupliranja/brisanja stavki u bazi, pre nego sto dodam nove prvo brisem sve stavke sa tim ID-em rezervacije u bazi, pa dodajem sve ove i dgv (listeStavki)
            sr.Uslov = " RezervacijaID=" + r.Id;
            Broker.DajSesiju().ObrisiZaUslovOstalo(sr);

            foreach (StavkaRezervacije stavka in r.ListaStavki)
            {
                stavka.RezervacijaID = r.Id;
                //kod StavkaRezervacija, sacuvaj mi odmah cuva ceo red, ne samo primarni kljuc
                Broker.DajSesiju().Sacuvaj(stavka);

                /*stavka.Uslov = " RezervacijaID=" + r.Id;
                 * Broker.DajSesiju().IzmeniUslovOstalo(stavka);*/

                Linija l = Broker.DajSesiju().VratiZaUslovPrimarni(stavka.Linija) as Linija;
                l.RaspoloziviBrojMesta--;
                Broker.DajSesiju().IzmeniUslovPrimarni(l);
            }

            return(true);
        }
コード例 #2
0
        internal static void DodajStavkuRezervacije(ComboBox cmbLinija, TextBox txtCenaStavke, TextBox txtUkupnaCena, Label lblTrajanjePuta)
        {
            StavkaRezervacije sr = new StavkaRezervacije();

            sr.RezervacijaID = rezervacija.Id;
            sr.RedniBroj     = rezervacija.ListaStavki.Count + 1;

            sr.Linija = cmbLinija.SelectedItem as Linija;
            if (sr.Linija == null)
            {
                MessageBox.Show("Izaberite liniju!");
                return;
            }
            if (sr.Linija.RaspoloziviBrojMesta < 1)
            {
                MessageBox.Show("Nema raspolozivih mesta za ovu liniju!");
                return;
            }

            try
            {
                sr.Cena = Convert.ToDouble(txtCenaStavke.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Cena nije ispravno uneta!");
                return;
            }

            if (sr.Cena < 0)
            {
                MessageBox.Show("Cena nije ispravno uneta!");
                return;
            }

            rezervacija.UkupanIznos += sr.Cena;
            txtUkupnaCena.Text       = rezervacija.UkupanIznos.ToString();

            foreach (StavkaRezervacije stavka in rezervacija.ListaStavki)
            {
                if (stavka.Linija.Id == sr.Linija.Id)
                {
                    MessageBox.Show("Ta linija je vec izabrana!");
                    return;
                }
            }

            rezervacija.ListaStavki.Add(sr);

            lblTrajanjePuta.Text = sr.Linija.TrajanjePuta;

            PopuniCmbLinija(cmbLinija);
            txtCenaStavke.Clear();
        }
コード例 #3
0
        internal static void ObrisiStavkuRezervacije(DataGridView dgvStavkeRezervacije, TextBox txtUkupnaCena)
        {
            try
            {
                StavkaRezervacije sr = dgvStavkeRezervacije.CurrentRow.DataBoundItem as StavkaRezervacije;
                rezervacija.ListaStavki.Remove(sr);

                //update rednih brojeva
                int i = 1;
                foreach (StavkaRezervacije stavka in rezervacija.ListaStavki)
                {
                    stavka.RedniBroj = i;
                    i++;
                }

                rezervacija.UkupanIznos -= sr.Cena;
                txtUkupnaCena.Text       = rezervacija.UkupanIznos.ToString();
            }
            catch (Exception)
            {
                MessageBox.Show("Izaberite stavku za brisanje!");
            }
        }
コード例 #4
0
        public override object IzvrsiKonkretnuSO(OpstiDomenskiObjekat odo)
        {
            Rezervacija r = Broker.DajSesiju().VratiZaUslovPrimarni(odo) as Rezervacija;

            r.Zaposleni = Broker.DajSesiju().VratiZaUslovPrimarni(r.Zaposleni) as Zaposleni;
            r.Putnik    = Broker.DajSesiju().VratiZaUslovPrimarni(r.Putnik) as Putnik;

            StavkaRezervacije sr = new StavkaRezervacije();

            sr.Uslov = " RezervacijaID=" + r.Id;

            List <StavkaRezervacije> lista = Broker.DajSesiju().VratiSveZaUslovOstalo(sr).
                                             OfType <StavkaRezervacije>().ToList <StavkaRezervacije>();

            foreach (StavkaRezervacije stavka in lista)
            {
                stavka.Linija = Broker.DajSesiju().VratiZaUslovPrimarni(stavka.Linija) as Linija;
                stavka.Linija.PocetnaStanica = Broker.DajSesiju().VratiZaUslovPrimarni(stavka.Linija.PocetnaStanica) as Stanica;
                stavka.Linija.KrajnjaStanica = Broker.DajSesiju().VratiZaUslovPrimarni(stavka.Linija.KrajnjaStanica) as Stanica;
                r.ListaStavki.Add(stavka);
            }

            return(r);
        }