Пример #1
0
 /// <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);
 }
Пример #2
0
        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!");
                    }
                }
            }
        }
Пример #3
0
        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!");
                    }
                }
            }
        }
Пример #5
0
        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);
                    }
                }
            }
        }
Пример #7
0
        //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);
                }
            }
        }
Пример #8
0
 /// <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;
 }
Пример #10
0
 private void UcitajCjenik()
 {
     using (var ef = new KampiralisteEntiteti())
     {
         cjenik = new BindingList <vrsta_smjestaja>(ef.vrsta_smjestaja.ToList());
     }
     cjenikBindingSource.DataSource = cjenik;
 }
Пример #11
0
        //funkcija za ponovno zauzimanje parcela nakon storniranja racuna
        private void ZauzmiParcelu()
        {
            using (KampiralisteEntiteti kontekst = new KampiralisteEntiteti())
            {
                odabraniSmjestaj.parcela.slobodno = false;

                kontekst.SaveChanges();
            }
        }
Пример #12
0
        //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);
        }
Пример #16
0
        //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);
        }
Пример #19
0
        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);
        }
Пример #21
0
        // 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();
        }
Пример #22
0
        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;
 }
Пример #26
0
 public MeniVoditeljForma(zaposlenik prijavljeni)
 {
     ef = new KampiralisteEntiteti();
     InitializeComponent();
     this.prijavljeniZaposlenik = prijavljeni;
 }