/// <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> /// Konstruktor forme prilikom ažuriranja prijave. /// </summary> /// <param name="ulazPrijava">Objekt klase prijava koji se ažurira</param> /// <param name="ulazniKontekst">Kontekst baze podataka</param> public PrijavaGostaForma(prijava ulazPrijava, KampiralisteEntiteti ulazniKontekst, zaposlenik prijavljeni) { InitializeComponent(); this.kontekst = ulazniKontekst; this.azurirajPrijavu = ulazPrijava; this.prijavljeniZaposlenik = prijavljeni; this.kontekst.zaposleniks.Attach(this.prijavljeniZaposlenik); }
/// <summary> /// Na dupli klik zčitava se odabrana prijava u formu PrijavaGostaForma. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void aktivnePrijaveListBox_MouseDoubleClick(object sender, MouseEventArgs e) { prijava azurirajPrijavu = aktivnePrijaveListBox.SelectedItem as prijava; PrijavaGostaForma instancaPrijavaGostaForma = new PrijavaGostaForma(azurirajPrijavu, kontekst, this.prijavljeniZaposlenik); instancaPrijavaGostaForma.ShowDialog(); UcitajPrijave(1); unosDolazakUzlazno.Checked = true; }
/// <summary> /// Funkcija za brisanje prijave, a ukoliko gost vezan za prijavu ima jednu ili nula prijava briše se /// i gost. /// </summary> /// <param name="prijavaZaBrisanje">Objekt tipa klase prijava koji će biti obrisan</param> private void ObrisiPrijavu(prijava prijavaZaBrisanje) { gost gostZaBrisanje = prijavaZaBrisanje.gost1; int brojPrijava = gostZaBrisanje.prijavas.Count(); kontekst.gosts.Attach(gostZaBrisanje); kontekst.prijavas.Attach(prijavaZaBrisanje); if (brojPrijava < 2) { kontekst.gosts.Remove(gostZaBrisanje); } kontekst.prijavas.Remove(prijavaZaBrisanje); kontekst.SaveChanges(); MessageBox.Show("Gost uspješno obrisan", "Poruka o brisanju", MessageBoxButtons.OK, MessageBoxIcon.Information); }
/// <summary> /// Događaj na desni klik na opciju uredi unutar meni-a. Meni se otvara desnim klikom na /// listu aktivnih prijava /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void urediToolStripMenuItem_Click(object sender, EventArgs e) { if (aktivnePrijaveListBox.SelectedItem != null) { prijava azurirajPrijavu = aktivnePrijaveListBox.SelectedItem as prijava; PrijavaGostaForma instancaPrijavaGostaForma = new PrijavaGostaForma(azurirajPrijavu, kontekst, this.prijavljeniZaposlenik); instancaPrijavaGostaForma.ShowDialog(); UcitajPrijave(1); unosDolazakUzlazno.Checked = true; } else { MessageBox.Show("Morate odabrati prijavu koju želite urediti!", "Brisanje", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
/// <summary> /// Događaj na desni klik na opciju obriši unutar meni-a. Meni se otvara desnim klikom na /// listu aktivnih prijava /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void obrišiToolStripMenuItem_Click(object sender, EventArgs e) { if (aktivnePrijaveListBox.SelectedItem != null) { prijava obrisiPrijavu = aktivnePrijaveListBox.SelectedItem as prijava; string poruka = "Sigurno želite obrisati prijavu za gosta "; poruka += obrisiPrijavu.gost1.ime + " " + obrisiPrijavu.gost1.prezime + "? "; DialogResult brisanjePotvrda = MessageBox.Show(poruka, "Brisanje", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (brisanjePotvrda == DialogResult.Yes) { ObrisiPrijavu(obrisiPrijavu); } UcitajPrijave(1); unosDolazakUzlazno.Checked = true; } else { MessageBox.Show("Morate odabrati prijavu koju želite obrisati!", "Brisanje", MessageBoxButtons.OK, MessageBoxIcon.Information); } }