예제 #1
0
        /// <summary>
        /// Ako gost postoji, ažuriraju se podaci. Ukoliko je pronađena prijava za ažuriranje (korisnik želi
        /// ažurirati podatke) ažuriraju se svi podaci o gostu.
        /// </summary>
        /// <param name="izmjeniGosta">Objekt tipa klase gost (sadrži podatke o gostu koje je je potrebno izmjeniti)</param>
        private void AzurirajGosta(gost izmjeniGosta)
        {
            kontekst.gosts.Attach(izmjeniGosta);

            vrsta_dokumenta noviDokument   = unosVrstaDoc.SelectedItem as vrsta_dokumenta;
            drzava          novaDrzavaStan = unosDrzavaStan.SelectedItem as drzava;

            //ako je učitana prijava za ažuriranje potrebno je izmjeniti sve podatke o gostu
            //u suprotnom ažurira se samo dio podataka o gostu
            if (this.azurirajPrijavu != null)
            {
                drzava novaDrzavaRod = unosDrzavaRod.SelectedItem as drzava;
                string spol          = unosSpolMuski.Checked ? spol = "M" : spol = "Ž";

                izmjeniGosta.spol          = spol;
                izmjeniGosta.ime           = unosIme.Text;
                izmjeniGosta.prezime       = unosPrezime.Text;
                izmjeniGosta.drzava1       = novaDrzavaRod;
                izmjeniGosta.datum_rodenja = DateTime.Parse(unosDatumRodenja.Text);
            }

            izmjeniGosta.vrsta_dokumenta = noviDokument;
            izmjeniGosta.broj_dokumenta  = unosBrojDoc.Text;
            izmjeniGosta.drzava          = novaDrzavaStan;

            kontekst.SaveChanges();
        }
예제 #2
0
        /// <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();
            }
        }
예제 #3
0
        /// <summary>
        /// Unos nove prijave (unos/ažuriranje gosta i unos nove prijave). Ako postoji gost ažurira zapise
        /// u suprotnom kreira novi zapis.
        /// </summary>
        private void NovaPrijava()
        {
            gost pohranjeniGost = PostojiGostUBazi();

            if (pohranjeniGost == null)
            {
                pohranjeniGost = NoviGost();
            }
            else
            {
                AzurirajGosta(pohranjeniGost);
            }

            PohraniPrijavu(pohranjeniGost);
        }
        /// <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);
        }
예제 #5
0
        /// <summary>
        /// Na temelju unesenih podataka provjerava se postoji li gost u bazi podataka.
        /// </summary>
        /// <returns>Objekt tipa klase gost ili null ukoliko nije pronađen</returns>
        private gost PostojiGostUBazi()
        {
            gost gostPostoji = null;

            string ime           = unosIme.Text;
            string prezime       = unosPrezime.Text;
            string drzavaRodenja = (unosDrzavaRod.SelectedItem as drzava).id;
            string spol          = unosSpolMuski.Checked ? "M" : "Ž";

            if (String.IsNullOrEmpty(ime) || String.IsNullOrEmpty(prezime) || String.IsNullOrEmpty(drzavaRodenja) || String.IsNullOrEmpty(unosDatumRodenja.Text))
            {
                throw new KampiralisteException("Nisu uneseni podaci o gostu!", this.Name);
            }
            else
            {
                DateTime datumRodenja = DateTime.Parse(unosDatumRodenja.Text);

                gostPostoji = (from b in kontekst.gosts
                               where b.ime == ime && b.prezime == prezime && b.drzava_id_rodenja == drzavaRodenja && b.datum_rodenja == datumRodenja && b.spol == spol
                               select b).FirstOrDefault();
            }

            return(gostPostoji);
        }
예제 #6
0
        /// <summary>
        /// Pohrana novog gosta u bazu podataka.
        /// </summary>
        /// <returns>Povratna vrijednos je objekt tipa klase "gost".</returns>
        private gost NoviGost()
        {
            vrsta_dokumenta dokument   = unosVrstaDoc.SelectedItem as vrsta_dokumenta;
            drzava          drzavaStan = unosDrzavaStan.SelectedItem as drzava;
            drzava          drzavaRod  = unosDrzavaRod.SelectedItem as drzava;
            string          spol       = unosSpolMuski.Checked ? spol = "M" : spol = "Ž";

            gost krairajGosta = new gost
            {
                spol            = spol,
                ime             = unosIme.Text,
                prezime         = unosPrezime.Text,
                vrsta_dokumenta = dokument,
                broj_dokumenta  = unosBrojDoc.Text,
                drzava1         = drzavaRod,
                drzava          = drzavaStan,
                datum_rodenja   = DateTime.Parse(unosDatumRodenja.Text)
            };

            kontekst.gosts.Add(krairajGosta);
            kontekst.SaveChanges();

            return(krairajGosta);
        }