protected Karta(SerializationInfo info, StreamingContext context) { this._kartaId = (int)info.GetInt32("kartaId"); this._projekcija = (Projekcija)info.GetValue("projekcija", Projekcija.GetType()); this._kupac = (Korisnik)info.GetValue("kupac", Kupac.GetType()); this._cena = info.GetSingle("cena"); this._red = info.GetInt32("red"); this._sediste = info.GetInt32("sediste"); this._kupac_id = info.GetInt32("kupacId"); this._projekcija_id = info.GetInt32("projekcijaId"); }
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(); }