/// <summary> /// Konstruktor forme kod unosa novog gosta. /// </summary> public PrijavaGostaForma(zaposlenik prijavljeni) { InitializeComponent(); this.kontekst = new KampiralisteEntiteti(); this.prijavljeniZaposlenik = prijavljeni; this.kontekst.zaposleniks.Attach(this.prijavljeniZaposlenik); }
private void dodajNoviCjenik_Click(object sender, EventArgs e) { if (unosNaziv.Text == "" || unosCijena.Text == "" || !IsDigitsOnly(unosCijena.Text)) { MessageBox.Show("Svi podaci moraju biti ispravno popunjeni!", "Ispravnost podataka", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite dodati novu stavku cjenika?", "Dodavanje stavke cjenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (rezultatUpita == DialogResult.Yes) { try { using (var ef = new KampiralisteEntiteti()) { vrsta_smjestaja vrsta = new vrsta_smjestaja { naziv = unosNaziv.Text, iznos = decimal.Parse(unosCijena.Text) }; ef.vrsta_smjestaja.Add(vrsta); ef.SaveChanges(); this.Close(); } MessageBox.Show("Stavka uspješno dodana!"); } catch { MessageBox.Show("Stavka nije dodana pokušajte opet!"); } } } }
private void dodajZaposlenika_Click(object sender, EventArgs e) { if (unosIme.Text == "" || unosPrezime.Text == "" || unosKorIme.Text == "" || unosLozinka.Text == "") { MessageBox.Show("Svi podaci moraju biti popunjeni!", "Ispravnost unsesenih podataka", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite dodati novog zaposlenika?", "Dodavanje zaposlenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (rezultatUpita == DialogResult.Yes) { using (var ef = new KampiralisteEntiteti()) { zaposlenik zap = new zaposlenik { ime = unosIme.Text, prezime = unosPrezime.Text, korisnicko_ime = unosKorIme.Text, vrsta_zaposlenika = (int)unosVrstaZaposlenika.SelectedValue, lozinka = unosLozinka.Text }; ef.zaposleniks.Add(zap); ef.SaveChanges(); this.Close(); } MessageBox.Show("Novi zaposlenik uspješno dodan!"); } } }
private void spremiPromjene_Click(object sender, EventArgs e) { if (unosNaziv.Text == "" || unosCijena.Text == "" || !IsDigitsOnly(unosCijena.Text)) { MessageBox.Show("Svi podaci moraju biti ispravno popunjeni!", "Ispravnost podataka", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite ažurirati stavku cjenika?", "Ažuriranje stavke cjenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (rezultatUpita == DialogResult.Yes) { try { using (var ef = new KampiralisteEntiteti()) { ef.vrsta_smjestaja.Attach(vrstaSmjestajaZaIzmjenu); vrstaSmjestajaZaIzmjenu.naziv = unosNaziv.Text; vrstaSmjestajaZaIzmjenu.iznos = decimal.Parse(unosCijena.Text); ef.SaveChanges(); this.Close(); } MessageBox.Show("Stavka cjenika uspješno ažurirana!"); } catch { MessageBox.Show("Stavka cjenika nije ažurirana. Pokušajte ponovo!"); } } } }
private void spremiNovePodatke_Click(object sender, EventArgs e) { if (unosIme.Text == "" || unosPrezime.Text == "" || unosKorIme.Text == "" || unosLozinka.Text == "") { MessageBox.Show("Svi podaci moraju biti popunjeni!", "Ispravnost podataka", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite ažurirati zaposlenika?", "Ažuriranje zaposlenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (rezultatUpita == DialogResult.Yes) { try { using (var ef = new KampiralisteEntiteti()) { ef.zaposleniks.Attach(zaposlenikZaIzmjenu); zaposlenikZaIzmjenu.ime = unosIme.Text; zaposlenikZaIzmjenu.prezime = unosPrezime.Text; zaposlenikZaIzmjenu.korisnicko_ime = unosKorIme.Text; zaposlenikZaIzmjenu.vrsta_zaposlenika = comboBoxVrsta.SelectedIndex + 1; zaposlenikZaIzmjenu.lozinka = unosLozinka.Text; ef.SaveChanges(); this.Close(); } MessageBox.Show("Zaposlenik uspješno ažuriran!"); } catch { MessageBox.Show("Zaposlenik nije ažuriran pokušajte ponovo!"); } } } }
//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); } } } }
//prikaz statistike gostiju na parcelama kroz godinu pri pokretanju forme private void PrikazStatistikeForma_Load(object sender, EventArgs e) { List <int> listaBrojeva = new List <int>(); using (var baza = new KampiralisteEntiteti()) { for (int i = 1; i <= baza.parcelas.Count(); i++) { int brojOsoba = (from prijave in baza.prijavas where prijave.smjestaj.parcela.id == i && prijave.datum_prijave.Year == DateTime.Now.Year select prijave).Count(); listaBrojeva.Add(brojOsoba); } int brPomocni = 0; for (int i = 1; i < listaBrojeva.Count; i++) { if (listaBrojeva.IndexOf(i) == -1) { brPomocni = 0; } else { brPomocni = listaBrojeva.IndexOf(i); } this.ispisStatParceleGraf.Series["prikazPoParceli"].Points.AddXY("Parcela_" + i, brPomocni); } } }
/// <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); }
private void UcitajZaposlenike() { using (var ef = new KampiralisteEntiteti()) { popis = new List <zaposlenik>(ef.zaposleniks.ToList()); } zaposlenikBindingSource.DataSource = popis; }
private void UcitajCjenik() { using (var ef = new KampiralisteEntiteti()) { cjenik = new BindingList <vrsta_smjestaja>(ef.vrsta_smjestaja.ToList()); } cjenikBindingSource.DataSource = cjenik; }
//funkcija za ponovno zauzimanje parcela nakon storniranja racuna private void ZauzmiParcelu() { using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti()) { odabraniSmjestaj.parcela.slobodno = false; kontekst.SaveChanges(); } }
//ispis svih računa iz baze private void PrikaziRacune() { BindingList <racun> listaRacuna = null; using (var baza = new KampiralisteEntiteti()) { listaRacuna = new BindingList <racun>(baza.racuns.ToList()); } racunBindingSource.DataSource = listaRacuna; }
//ispis svih zauzetih parcela private void PrikaziParcele() { BindingList <parcela> listaParcela = null; using (var baza = new KampiralisteEntiteti()) { listaParcela = new BindingList <parcela>(baza.parcelas.Where(p => p.slobodno == false).ToList()); } parcelaBindingSource.DataSource = listaParcela; }
//ispis -> svi gosti sa odabrane parcele private void ispisSviGosti_DoubleClick(object sender, EventArgs e) { if (ispisSviGosti.SelectedItem != null) { ispisOdabraniGosti.Items.Add(ispisSviGosti.SelectedItem); ispisSviGosti.Items.Remove(ispisSviGosti.SelectedItem); using (var kontekst = new KampiralisteEntiteti()) { decimal ukupniIznos = UkupniIznosRacuna(null, kontekst); ispisRacuna.Text = Convert.ToString(ukupniIznos) + " kn"; } } }
//detalji racuna -> dohvacanje ukupnog iznosa i ispis te oslobađanje parcele public void KreirajStavke(racun kreiraniRacun) { decimal ukupniIznos = 0; int brOsobaUSmjestaju = 0; using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti()) { kontekst.smjestajs.Attach(odabraniSmjestaj); brOsobaUSmjestaju = odabraniSmjestaj.prijavas.Count; ukupniIznos += UkupniIznosRacuna(kreiraniRacun, kontekst); ispisRacuna.Text = Convert.ToString(ukupniIznos) + " kn"; kreiraniRacun.iznos = ukupniIznos; kontekst.SaveChanges(); } OslobodiParcelu(brOsobaUSmjestaju); }
//ispis statistike -domaci-strani- prema upisanom datumu private void akcijaPrikaziStatPoDatumu_Click(object sender, EventArgs e) { DateTime datum; bool ispravnostDatuma = DateTime.TryParse(unosDatumFiltiranja.Text, out datum); if (ispravnostDatuma == false) { MessageBox.Show("Potrebno je unijeti datum za pregled statistike!"); } else { DateTime datumFiltriranja = DateTime.Parse(unosDatumFiltiranja.Text); int brojOsobaHrv = 0; int brojOsobaStr = 0; using (var baza = new KampiralisteEntiteti()) { brojOsobaHrv = (from prijave in baza.prijavas where prijave.datum_prijave <= datumFiltriranja && prijave.datum_odjave >= datumFiltriranja && prijave.gost1.drzava_id_drzavljanstvo == "HRV" select prijave).Count(); brojOsobaStr = (from prijave in baza.prijavas where prijave.datum_prijave <= datumFiltriranja && prijave.datum_odjave >= datumFiltriranja && prijave.gost1.drzava_id_drzavljanstvo != "HRV" select prijave).Count(); } foreach (var series in ispisStatDatumGraf.Series) { series.Points.Clear(); } if (brojOsobaHrv != 0 || brojOsobaStr != 0) { this.ispisStatDatumGraf.Series["prikazBrojGostiju"].Points.AddXY("Domaći gosti", brojOsobaHrv); this.ispisStatDatumGraf.Series["prikazBrojGostiju"].Points.AddXY("Strani gosti", brojOsobaStr); } else { MessageBox.Show("Na uneseni datum niste imali gostiju u kampiralištu!"); } } }
//ako nema gostiju na parceli, oslobodi parcelu u suprotnom je i dalje zauzeta private void OslobodiParcelu(int brojOsoba) { using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti()) { kontekst.smjestajs.Attach(odabraniSmjestaj); odabraniSmjestaj.broj_osoba = brojOsoba; if (ispisSviGosti.Items.Count > 0) { odabraniSmjestaj.parcela.slobodno = false; } else { odabraniSmjestaj.parcela.slobodno = true; } kontekst.SaveChanges(); } }
//racun -> izracun ukupnog iznosa prema statusu osobe, broju dana, vrsti smjestaja i broju osoba private decimal UkupniIznosRacuna(racun kreiraniRacun, KampiralisteEntiteti kontekst) { decimal ukupniIznos = 0; kontekst.smjestajs.Attach(odabraniSmjestaj); List <prijava> listaStavki = ispisOdabraniGosti.Items.Cast <prijava>().ToList(); int brOsobaUSmjestaju = odabraniSmjestaj.prijavas.Count; foreach (var item in listaStavki) { int razlikaDatuma = (item.datum_odjave - item.datum_prijave).Days; if (kreiraniRacun != null) { item.racun = kreiraniRacun; } ukupniIznos += item.status_osobe.iznos * razlikaDatuma + ((item.smjestaj.vrsta_smjestaja.iznos) / brOsobaUSmjestaju) * razlikaDatuma; } return(ukupniIznos); }
private void PrijaviMe(object sender, EventArgs e) { try { using (KampiralisteEntiteti ef = new KampiralisteEntiteti()) { bool provjeraPrijave = false; foreach (var zaposlenik in ef.zaposleniks) { if (zaposlenik.korisnicko_ime == unosKorisnickoIme.Text && zaposlenik.lozinka == unosLozinka.Text) { prijavljeniZaposlenik = zaposlenik; provjeraPrijave = true; break; } } if (!provjeraPrijave) { MessageBox.Show("Unjeli ste krivo korisnicko ime ili lozinku!"); return; } if (prijavljeniZaposlenik.vrsta_zaposlenika == 1) { MessageBox.Show("Uspješna prijava!"); MeniVoditeljForma formaUredi = new MeniVoditeljForma(prijavljeniZaposlenik); formaUredi.Show(); } if (prijavljeniZaposlenik.vrsta_zaposlenika == 2) { MessageBox.Show("Uspješna prijava!"); MeniRecepcionerForma formaUredi = new MeniRecepcionerForma(prijavljeniZaposlenik); formaUredi.Show(); } } }catch { MessageBox.Show("Niste povezani na internet!", "eKamp", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
//kreiranje računa private racun KreirajRacun() { racun noviRacun = null; using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti()) { kontekst.smjestajs.Attach(odabraniSmjestaj); noviRacun = new racun() { smjestaj = odabraniSmjestaj as smjestaj, smjestaj_id = odabraniSmjestaj.id, zaposlenik_id = prijavljeniZaposlenik.id, JIR = RandomString(), ZIR = RandomString(), iznos = 0, datum_vrijeme_izdavanja = DateTime.Now }; kontekst.racuns.Add(noviRacun); kontekst.SaveChanges(); } return(noviRacun); }
// 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(); }
private void obrisiCjenik_Click(object sender, EventArgs e) { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite stavku cjenik?", "Brisanje stavke cjenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); try { if (rezultatUpita == DialogResult.Yes) { using (var ef = new KampiralisteEntiteti()) { vrsta_smjestaja vrsta = cjenikBindingSource.CurrentRow.DataBoundItem as vrsta_smjestaja; ef.vrsta_smjestaja.Attach(vrsta); ef.vrsta_smjestaja.Remove(vrsta); ef.SaveChanges(); UcitajCjenik(); } MessageBox.Show("Stavka cjenika uspješno obrisana!"); } } catch { MessageBox.Show("Ne možete obrisati cjenik koji se koristi", "Upozorenje", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void obrisiZaposlenika_Click(object sender, EventArgs e) { DialogResult rezultatUpita = MessageBox.Show("Jeste li sigurni da želite obrisati zaposlenika?", "Brisanje zaposlenika", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (rezultatUpita == DialogResult.Yes) { try { using (var ef = new KampiralisteEntiteti()) { zaposlenik za = zaposlenikBindingSource.Current as zaposlenik; ef.zaposleniks.Attach(za); ef.zaposleniks.Remove(za); ef.SaveChanges(); UcitajZaposlenike(); } MessageBox.Show("Zaposlenik uspješno obrisan"); } catch { MessageBox.Show("Zaposlenika nije moguće obrisati!"); } } }
public UnosSmjestajForma(KampiralisteEntiteti prosljedeniKontekst) { InitializeComponent(); this.kontekst = prosljedeniKontekst; }
public RadSPrijavamaForma(zaposlenik prijavljeni) { InitializeComponent(); kontekst = new KampiralisteEntiteti(); this.prijavljeniZaposlenik = prijavljeni; }
public MeniVoditeljForma(zaposlenik prijavljeni) { ef = new KampiralisteEntiteti(); InitializeComponent(); this.prijavljeniZaposlenik = prijavljeni; }