//odabrana parcela -> prikaz prijavljenih gostiju u zadnjem smještaju private void odabirParcele_SelectedIndexChanged(object sender, EventArgs e) { ispisSviGosti.Items.Clear(); ispisOdabraniGosti.Items.Clear(); parcela odabranaParcela = odabirParcele.SelectedItem as parcela; using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti()) { if (odabranaParcela != null) { ispisRacuna.Clear(); kontekst.parcelas.Attach(odabranaParcela); odabraniSmjestaj = odabranaParcela.smjestajs.LastOrDefault() as smjestaj; ispisOznakeSmjestaja.Text = odabraniSmjestaj.oznaka; var upit = from prijava in kontekst.prijavas where prijava.smjestaj.id == odabraniSmjestaj.id && prijava.racun == null select prijava; this.listaPrijava = new BindingList <prijava>(upit.ToList()); foreach (var item in listaPrijava) { ispisSviGosti.Items.Add(item as prijava); } } } }
/// <summary> /// Pohrana prijave za danog gosta u bazu podataka. /// </summary> /// <param name="prijaviGosta">Objekt tipa gost za kojeg se unosi prijava.</param> private void PohraniPrijavu(gost prijaviGosta) { string orgDolaska = unosOsobno.Checked ? "O" : "A"; smjestaj odabraniSmjestaj = odabirSmjestajaUnos.SelectedItem as smjestaj; status_osobe odabraniStatus = unosStatusOsobe.SelectedItem as status_osobe; if (String.IsNullOrEmpty(unosDatumDolaska.Text) || String.IsNullOrEmpty(unosDatumOdlaska.Text)) { throw new KampiralisteException("Nisu uneseni podaci prijave!", this.Name); } else { DateTime datumPrijave = DateTime.Parse(unosDatumDolaska.Text); DateTime datumOdjave = DateTime.Parse(unosDatumOdlaska.Text); prijava prijavaGosta = new prijava { gost1 = prijaviGosta, datum_prijave = datumPrijave, datum_odjave = datumOdjave, organizacija_dolaska = orgDolaska, status_osobe = odabraniStatus, zaposlenik = this.prijavljeniZaposlenik, smjestaj = odabraniSmjestaj }; kontekst.prijavas.Add(prijavaGosta); kontekst.SaveChanges(); } }
/// <summary> /// Pohrana smještaja u bazu podataka. /// </summary> /// <param name="brojOsoba"></param> private void PohraniSmjestaj(int brojOsoba) { vrsta_smjestaja smjestaj = unosVrstaSmjestaja.SelectedItem as vrsta_smjestaja; parcela parcelaSmjestaja = unosParcele.SelectedItem as parcela; smjestaj noviSmjestaj = new smjestaj { vrsta_smjestaja = smjestaj, oznaka = unosOznakaSmjestaja.Text, parcela = parcelaSmjestaja, broj_osoba = brojOsoba }; parcelaSmjestaja.slobodno = false; this.kontekst.smjestajs.Add(noviSmjestaj); this.kontekst.SaveChanges(); }
/// <summary> /// Ažurira podatke o prijavi i pohranjuje u bzau. /// </summary> private void AzurirajPrijavu() { kontekst.prijavas.Attach(this.azurirajPrijavu); AzurirajGosta(this.azurirajPrijavu.gost1); status_osobe noviStatusOsobe = unosStatusOsobe.SelectedItem as status_osobe; string noviOrgDolaska = unosOsobno.Checked ? "O" : "A"; smjestaj noviSmjestaj = odabirSmjestajaUnos.SelectedItem as smjestaj; this.azurirajPrijavu.status_osobe = noviStatusOsobe; this.azurirajPrijavu.organizacija_dolaska = noviOrgDolaska; this.azurirajPrijavu.datum_prijave = DateTime.Parse(unosDatumDolaska.Text); this.azurirajPrijavu.datum_odjave = DateTime.Parse(unosDatumOdlaska.Text); this.azurirajPrijavu.smjestaj = noviSmjestaj; kontekst.SaveChanges(); }
// storniranje racuna -> dohvacanje prijava, postavljanje racuna na null i ponovno zauzimanje parcele private void akcijaStornirajRacun_Click(object sender, EventArgs e) { BindingList <prijava> listaPrijava = new BindingList <prijava>(); racun odabraniRacun = racunBindingSource.Current as racun; if (odabraniRacun != null) { if (MessageBox.Show("Sigurno želite stornirati odabrani račun?", "Upozorenje!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes) { using (var baza = new KampiralisteEntiteti()) { baza.racuns.Attach(odabraniRacun); var upit = from prijava in baza.prijavas where prijava.racun.id == odabraniRacun.id select prijava; listaPrijava = new BindingList <prijava>(upit.ToList()); foreach (var item in listaPrijava) { item.racun_id = null; } odabraniSmjestaj = odabraniRacun.smjestaj as smjestaj; ZauzmiParcelu(); baza.racuns.Remove(odabraniRacun); baza.SaveChanges(); } } } else { MessageBox.Show("Potrebno je odabrati račun koji se želi stornirati!"); } PrikaziRacune(); }