Exemple #1
0
        private void btnDodeli_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndices.Count == 1)
            {
                ISession     sesija      = DataLayer.GetSession();
                ITransaction transakcija = sesija.BeginTransaction();

                //             sesija.Save(poklon);

                Ucesnik ucesnik = (Ucesnik)listBox1.SelectedItem;
                ucesnik = sesija.Load <Ucesnik>(ucesnik.Id);
                sesija.Delete(ucesnik);
                transakcija.Commit();

                listBox1.Items.Clear();

                Ucesnik dobitnik = new Ucesnik();
                dobitnik.DatumPrvePorudzbine = ucesnik.DatumPrvePorudzbine;

                Poklon poklon;
                if (radioPizza.Checked)
                {
                    poklon = new PoklonPizza();
                }
                else
                {
                    poklon = new PoklonPopust();
                }
                poklon.Bodovi = (int)numericUpDown1.Value;

                dobitnik.SakupljeniBodovi = ucesnik.SakupljeniBodovi - poklon.Bodovi;
                dobitnik.Porudzbine       = ucesnik.Porudzbine;
                dobitnik.LicniBroj        = ucesnik.LicniBroj;
                sesija.Save(dobitnik);

                sesija.Close();

                sesija                 = DataLayer.GetSession();
                transakcija            = sesija.BeginTransaction();
                poklon.DatumDodele     = DateTime.Now;
                poklon.DatumIskoriscen = DateTime.Now;
                poklon.IdKupca         = dobitnik;
                sesija.Save(poklon);
                transakcija.Commit();
                sesija.Close();

                sesija      = DataLayer.GetSession();
                transakcija = sesija.BeginTransaction();
                foreach (Porudzbina porudzbina in ucesnik.Porudzbine)
                {
                    Porudzbina p;
                    if (porudzbina.GetType() == typeof(NeisporucenaPorudzbina))
                    {
                        p = new NeisporucenaPorudzbina();
                    }
                    else
                    {
                        p = new IsporucenaPorudzbina();
                    }
                    p         = porudzbina;
                    p.IdKupca = dobitnik;
                    sesija.Save(p);
                }
                foreach (Poklon nagrada in ucesnik.Pokloni)
                {
                    Poklon p;
                    if (nagrada.GetType() == typeof(PoklonPopust))
                    {
                        p = new PoklonPopust();
                    }
                    else
                    {
                        p = new PoklonPizza();
                    }
                    p         = nagrada;
                    p.IdKupca = dobitnik;
                    sesija.Save(p);
                }
                transakcija.Commit();
                sesija.Close();

                UcitajUcesnike();
            }
            else
            {
                MessageBox.Show("Izaberite jednog ucesnika");
            }
        }
Exemple #2
0
        private void btnPrimiPorudzibnu_Click(object sender, EventArgs e)
        {
            if (listOperater.SelectedItems.Count == 0 || listKupac.SelectedItems.Count == 0 || sadrzi.Count == 0 || comboNacinPlacanja.SelectedItem == null)
            {
                MessageBox.Show("Morate izbrati jednog operatera,dostavaljaca,nacin placanja i popuniti sadrzaj bar jedne porudzbine");
                return;
            }
            ISession     s = DataLayer.GetSession();
            ITransaction t = s.BeginTransaction();

            Kupac k    = s.Load <Kupac>(((Kupac)listKupac.SelectedItem).Id);
            int   suma = 0;

            Operater o = s.Load <Operater>(((Operater)listOperater.SelectedItem).Id);
            NeisporucenaPorudzbina p = new NeisporucenaPorudzbina()
            {
                NacinPlacanja       = comboNacinPlacanja.Text,
                IdKupca             = k,
                IdOperater          = o,
                DatumVremeKreiranja = DateTime.Now
            };

            s.Save(p);
            k.Porudzbine.Add(p);
            o.PrimljenePorudzbine.Add(p);
            foreach (var x in sadrzi)
            {
                x.PorudzbinaId = p;
                s.Save(x);
                p.Sadrzaj.Add(x);
                suma += x.VelicinaId.Bodovi;
            }
            //  k = (Ucesnik)k;
            if (k.GetType() == typeof(Ucesnik))
            {
                ISession     sesija      = DataLayer.GetSession();
                ITransaction transakcija = sesija.BeginTransaction();

                sesija.Delete(k);
                transakcija.Commit();

                listOperater.Items.Clear();
                listKupac.Items.Clear();

                Ucesnik novi = new Ucesnik();
                novi.DatumPrvePorudzbine = novi.DatumPrvePorudzbine;

                novi.SakupljeniBodovi = ((Ucesnik)k).SakupljeniBodovi + suma;
                novi.Porudzbine       = k.Porudzbine;
                novi.LicniBroj        = k.LicniBroj;
                sesija.Save(novi);

                sesija.Close();

                sesija      = DataLayer.GetSession();
                transakcija = sesija.BeginTransaction();
                foreach (Porudzbina porudzbina in k.Porudzbine)
                {
                    Porudzbina por;
                    if (porudzbina.GetType() == typeof(NeisporucenaPorudzbina))
                    {
                        por = new NeisporucenaPorudzbina();
                    }
                    else
                    {
                        por = new IsporucenaPorudzbina();
                    }
                    por         = porudzbina;
                    por.IdKupca = novi;
                    sesija.Save(por);
                }
                foreach (Poklon nagrada in ((Ucesnik)k).Pokloni)
                {
                    Poklon pok;
                    if (nagrada.GetType() == typeof(PoklonPopust))
                    {
                        pok = new PoklonPopust();
                    }
                    else
                    {
                        pok = new PoklonPizza();
                    }
                    pok         = nagrada;
                    pok.IdKupca = novi;
                    sesija.Save(pok);
                }
                transakcija.Commit();
                sesija.Close();
                //            k = novi;
            }
            t.Commit();
            s.Close();
            DialogResult = DialogResult.OK;
            Close();
        }