/// <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> /// 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(); }
/// <summary> /// Odgovara ili odabrani status unesenom datumu rođenja /// </summary> private void ProvjeraStatusa() { if (!String.IsNullOrEmpty(unosDatumRodenja.Text)) { DateTime uneseniDatum; if (!DateTime.TryParse(unosDatumRodenja.Text, out uneseniDatum)) { throw new KampiralisteException("Datum rođenja je neispravno unesen", this.Name); } DateTime trenutniDatum = DateTime.Now; status_osobe odabraniStatus = unosStatusOsobe.SelectedItem as status_osobe; int godine = trenutniDatum.Year - uneseniDatum.Year; if (trenutniDatum.Month < uneseniDatum.Month || (trenutniDatum.Month == uneseniDatum.Month && trenutniDatum.Day < uneseniDatum.Day)) { godine--; } switch (odabraniStatus.id) { case 1: if (godine > 12) { throw new KampiralisteException("Uneseni gost stariji je od 12 godina!", this.Name); } break; case 2: if (godine < 12 || godine > 18) { throw new KampiralisteException("Uneseni gost nije u rasponu od 12 do 18 godina starosti!", this.Name); } break; case 3: if (godine < 18) { throw new KampiralisteException("Uneseni gost mlađi je od 18 godina!", this.Name); } break; } } }