private void uiIzbrisiVlasnika_Click(object sender, EventArgs e) { Vlasnik selektiraniVlasnik = vlasnikBindingSource.Current as Vlasnik; if (selektiraniVlasnik != null) { if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MazaEntities()) { db.Vlasnik.Attach(selektiraniVlasnik); if (selektiraniVlasnik.Zivotinja.Count == 0) { db.Vlasnik.Remove(selektiraniVlasnik); db.SaveChanges(); } else { MessageBox.Show("Nije moguće obrisati vlasnika jer sadrži životinje, prvo obriši životinje"); } } } PopuniVlasnike(); } }
/// <summary> /// Popunjava preostale podatke o dijagnozi /// </summary> private void PopuniPodatkeODijagnozi() { uiNapomena.Text = dijagnoza.napomena; uiTerapija.Text = dijagnoza.terapija; uiSimptomi.Text = dijagnoza.simptomi; List <PropisaniLijek> propisaniLijekovi = null; using (var db = new MazaEntities()) { propisaniLijekovi = db.PropisaniLijek.Where(s => s.ID_dijagnoza == dijagnoza.ID_dijagnoza).ToList(); foreach (var lijek in db.PropisaniLijek) { if (lijek.ID_dijagnoza == dijagnoza.ID_dijagnoza) { uiPropisaniLijekovi.Items.Add(db.Lijek.Where(s => s.ID_lijek == lijek.ID_lijek).FirstOrDefault()); } } Bolest bolest = null; bolest = db.Bolest.Where(s => s.ID_bolest == dijagnoza.ID_bolest).FirstOrDefault(); uiActionOdaberiBolest.SelectedValue = bolest.ID_bolest; } foreach (PropisaniLijek propisaniLijek in propisaniLijekovi) { listaNapomenaZaLijekove.Add(propisaniLijek.napomena); } }
/// <summary> /// Popunjava trenutno odabranu kontrolu sa podacima iz proslijeđene kontrole /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmDetaljiKontrole_Load(object sender, EventArgs e) { this.vlasnik = null; using (var db = new MazaEntities()) { this.zivotinja = db.Zivotinja.Where(s => s.ID_zivotinja == this.kontrola.ID_zivotinja).FirstOrDefault(); this.vlasnik = db.Vlasnik.Where(s => s.ID_vlasnik == this.zivotinja.ID_vlasnika).FirstOrDefault(); } this.uiImeZivotinjeTekst.Text = this.zivotinja.ime; this.uiVrstaZivotinjeTekst.Text = this.zivotinja.vrsta; this.uiDatumZivotinjeTekst.Text = this.zivotinja.datum_rodenja.ToShortDateString(); this.uiVlasnikZivotinjeTekst.Text = this.vlasnik.ime + " " + this.vlasnik.prezime; this.uiDatumKontroleTekst.Text = this.kontrola.datum_kontrole.ToString(); this.uiOpisTekst.Text = this.kontrola.opis; this.uiStatusTekst.Text = this.kontrola.status; ProvjeriVeterinara(); ProvjeriStatus(); DohvatiDijagnoze(); PopuniStavkeDijagnozama(); DohvatiCjepljenja(); PopuniStavkeCjepljenjima(); DohvatiOperacije(); PopuniStavkeOperacijama(); }
/// <summary> /// Ažurira postojećeg, odnosno dodaje novog vlasnika u bazu podataka /// </summary> public void UrediVlasnika() { using (var db = new MazaEntities()) { if (vlasnik == null) { noviVlasnik = new Vlasnik { ime = uiImeVlasnika.Text, prezime = uiPrezimeVlasnika.Text, adresa_stavnovanja = uiAdresa.Text, broj_telefona1 = uiBrojMobitela.Text, broj_telefona2 = uiBrojTelefona.Text, email = uiEmail.Text }; db.Vlasnik.Add(noviVlasnik); db.SaveChanges(); } else { db.Vlasnik.Attach(vlasnik); vlasnik.ime = uiImeVlasnika.Text; vlasnik.prezime = uiPrezimeVlasnika.Text; vlasnik.adresa_stavnovanja = uiAdresa.Text; vlasnik.broj_telefona1 = uiBrojMobitela.Text; vlasnik.broj_telefona2 = uiBrojTelefona.Text; vlasnik.email = uiEmail.Text; db.SaveChanges(); } } this.Close(); }
/// <summary> /// Zatvara trenutačno aktivnu kontrolu te ju ažurira u stanje obavljene kontrole ukoliko korisnik tako odabere i ukoliko je korisnik zadužen za tu kontrolu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionZatvoriDetaljeKontrole_Click(object sender, EventArgs e) { if (this.kontrola.ID_veterinar == PrijavljeniVeterinar.Veterinar.ID_veterinar) { if (!this.status) { if (MessageBox.Show("Da li ste stvarno završili sa kontrolom?", "Jeste li sigurni?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { using (var db = new MazaEntities()) { db.Kontrola.Attach(this.kontrola); this.kontrola.status = "Obavljen"; db.SaveChanges(); } this.Close(); } } else { this.Close(); } } else { this.Close(); } }
/// <summary> /// Popunjava combobox za odabir lijeka sa svim postojećim lijekovima /// </summary> private void PopuniLijekove() { using (var db = new MazaEntities()) { uiActionOdaberiLijek.DataSource = db.Lijek.ToList(); } }
private void uiZavrsi_Click(object sender, EventArgs e) { using (var db = new MazaEntities()) { if (vlasnik == null) { Vlasnik vlasnik = new Vlasnik { ime = uiImeVlasnika.Text, prezime = uiPrezimeVlasnika.Text, adresa_stavnovanja = uiAdresa.Text, broj_telefona1 = uiBrojMobitela.Text, broj_telefona2 = uiBrojTelefona.Text, email = uiEmail.Text }; db.Vlasnik.Add(vlasnik); db.SaveChanges(); } else { db.Vlasnik.Attach(vlasnik); vlasnik.ime = uiImeVlasnika.Text; vlasnik.prezime = uiPrezimeVlasnika.Text; vlasnik.adresa_stavnovanja = uiAdresa.Text; vlasnik.broj_telefona1 = uiBrojMobitela.Text; vlasnik.broj_telefona2 = uiBrojTelefona.Text; vlasnik.email = uiEmail.Text; db.SaveChanges(); } } this.Close(); }
/// <summary> /// Dohvaćanje svih cjepljenja vezanih uz trenutno aktivnu kontrolu /// </summary> public void DohvatiCjepljenja() { using (var db = new MazaEntities()) { this.listaCjepiva = db.Cjepivo.Where(s => s.Kontrola.Any(c => c.ID_kontrola == this.kontrola.ID_kontrola)).ToList(); } }
/// <summary> /// Popunjava combobox za odabir bolesti sa svim postojećim bolestima /// </summary> private void PopuniBolesti() { using (var db = new MazaEntities()) { uiActionOdaberiBolest.DataSource = db.Bolest.ToList(); } }
/// <summary> /// Generira podatke o broju cjepljenja po vrsti životinje te ih prikazuje na grafu u obliku vertikalno stupićastog grafa /// </summary> private void PrikaziCijepljenjaPoVrsti() { this.uiGraf.Series.Clear(); this.uiGraf.Series.Add("Broj cjepljenja"); this.uiGraf.Series["Broj cjepljenja"].Color = Color.Purple; List <Kontrola> listaKontrola = null; List <Zivotinja> listaZivotinja = null; List <Zivotinja> pravaLista = new List <Zivotinja>(); using (var db = new MazaEntities()) { listaKontrola = db.Kontrola.ToList(); listaZivotinja = db.Zivotinja.ToList(); foreach (Kontrola kontrola in listaKontrola) { if (kontrola.Cjepivo != null) { pravaLista.Add(listaZivotinja.Where(s => s.ID_zivotinja == kontrola.ID_zivotinja).FirstOrDefault()); } } } var brojCjepljenja = pravaLista.GroupBy(n => n.vrsta).Select(group => new { vrsta = group.Key, broj = group.Count() }); foreach (var item in brojCjepljenja) { this.uiGraf.Series["Broj cjepljenja"].Points.AddXY(item.vrsta, item.broj); } }
/// <summary> /// Generira podatke o broju pojavljivanja svake bolesti te ih prikazuje na grafu u obliku pite /// </summary> private void PrikaziNajcesceBolesti() { this.uiGraf.Series.Clear(); this.uiGraf.Series.Add("Broj pojavljivanja bolesti"); this.uiGraf.Series["Broj pojavljivanja bolesti"].Color = Color.Purple; this.uiGraf.Series["Broj pojavljivanja bolesti"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Pie; List <Dijagnoza> listaDijagnoza = null; List <Bolest> listaBolesti = null; using (var db = new MazaEntities()) { listaBolesti = db.Bolest.ToList(); listaDijagnoza = db.Dijagnoza.ToList(); } var brojBolesti = listaDijagnoza.GroupBy(n => n.ID_bolest).Select(group => new { bolest = group.Key, broj = group.Count() }); foreach (var item in brojBolesti) { foreach (Bolest bolest in listaBolesti) { if (bolest.ID_bolest == item.bolest) { this.uiGraf.Series["Broj pojavljivanja bolesti"].Points.AddXY(bolest.naziv, item.broj); break; } } } }
/// <summary> /// Ovisno o statusu kontrole dodaje novo cjepljenje ili ažurira postojeće /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionDodajCjepivo_Click(object sender, EventArgs e) { using (var db = new MazaEntities()) { if (this.cjepivo == null) { Cjepivo cjepivo = uiActionOdaberiCjepivo.SelectedItem as Cjepivo; db.Cjepivo.Attach(cjepivo); db.Kontrola.Attach(this.kontrola); this.kontrola.Cjepivo.Add(cjepivo); cjepivo.Kontrola.Add(this.kontrola); this.cjepivo = cjepivo; this.DialogResult = DialogResult.OK; } else { Cjepivo cjepivo = uiActionOdaberiCjepivo.SelectedItem as Cjepivo; db.Cjepivo.Attach(this.cjepivo); db.Kontrola.Attach(this.kontrola); this.kontrola.Cjepivo.Remove(this.cjepivo); db.Cjepivo.Attach(cjepivo); this.kontrola.Cjepivo.Add(cjepivo); } db.SaveChanges(); } this.Close(); }
private void uiPrikazKontrola_SelectionChanged(object sender, EventArgs e) { int idKontrola = (int)uiPrikazKontrola.CurrentRow.Cells[0].Value; using (var db = new MazaEntities()) { kontrola = db.Kontrola.Where(k => k.ID_kontrola == idKontrola).FirstOrDefault(); } }
/// <summary> /// Prikaz kontrola iz baze podataka /// </summary> private void PrikaziKontrole() { BindingList <viewKontrola> viewKontrola; using (var db = new MazaEntities()) { viewKontrola = new BindingList <viewKontrola>(db.viewKontrola.ToList()); } uiPrikazKontrola.DataSource = viewKontrola; }
/// <summary> /// Popunjava combobox sa cjepivima za mogućnost odabira cjepiva /// </summary> private void PopuniCjepiva() { using (var db = new MazaEntities()) { uiActionOdaberiCjepivo.DataSource = db.Cjepivo.ToList(); } uiActionOdaberiCjepivo.DisplayMember = "ime"; uiActionOdaberiCjepivo.ValueMember = "ID_cjepivo"; }
/// <summary> /// Popunjava se datagridview uiPrikazVlasnika podacima o vlasnicima zivotinja iz baze /// </summary> public void PopuniVlasnike() { BindingList <Vlasnik> listaVlasnika = null; using (var db = new MazaEntities()) { listaVlasnika = new BindingList <Vlasnik>(db.Vlasnik.ToList()); } vlasnikBindingSource.DataSource = listaVlasnika; }
/// <summary> /// Filtrira vlasnike na temelju unešenog teksta iz textboxa /// </summary> /// <param name="vlasnik">Vrijednost koju unosi korisnik</param> private void FiltrirajVlasnike(string vlasnik) { BindingList <Vlasnik> listaVlasnika; using (var db = new MazaEntities()) { listaVlasnika = new BindingList <Vlasnik>(db.Vlasnik.Where (v => (v.ime.Contains(vlasnik) || v.prezime.Contains(vlasnik) || v.adresa_stavnovanja.Contains(vlasnik) || v.broj_telefona1.Contains(vlasnik) || v.broj_telefona2.Contains(vlasnik) || v.email.Contains(vlasnik))).ToList()); } vlasnikBindingSource.DataSource = listaVlasnika; }
/// <summary> /// Generira podatke o obavljenim i neobavljenim kontrolama za postojeće veterinare te ih prikaže na grafu /// u obliku vertikalno stupićastog grafa /// </summary> private void PrikaziKontrole() { this.uiGraf.Series.Clear(); this.uiGraf.Series.Add("Obavljene kontrole"); this.uiGraf.Series.Add("Neobavljene kontrole"); this.uiGraf.Series["Obavljene kontrole"].Color = Color.Green; this.uiGraf.Series["Neobavljene kontrole"].Color = Color.Red; List <Kontrola> listaKontrola = null; List <Veterinar> listaVeterinara = null; using (var db = new MazaEntities()) { listaKontrola = db.Kontrola.ToList(); listaVeterinara = db.Veterinar.ToList(); } var brojObavljenihKontrola = listaKontrola.Where(s => s.status == "Obavljen").GroupBy(n => n.ID_veterinar).Select(group => new { veterinar = group.Key, broj = group.Count() }); foreach (var item in brojObavljenihKontrola) { foreach (Veterinar veterinar in listaVeterinara) { if (veterinar.ID_veterinar == item.veterinar) { this.uiGraf.Series["Obavljene kontrole"].Points.AddXY(veterinar.ime + " " + veterinar.prezime, item.broj); break; } } } var brojNeobavljenihKontrola = listaKontrola.Where(s => s.status == "Nije obavljen").GroupBy(n => n.ID_veterinar).Select(group => new { veterinar = group.Key, broj = group.Count() }); foreach (var item in brojNeobavljenihKontrola) { foreach (Veterinar veterinar in listaVeterinara) { if (veterinar.ID_veterinar == item.veterinar) { this.uiGraf.Series["Neobavljene kontrole"].Points.AddXY(veterinar.ime + " " + veterinar.prezime, item.broj); break; } } } }
/// <summary> /// Popunjava combobox uiOdabirZivotinje s zivotinjama temeljem proslijedenog vlasnika /// </summary> /// <param name="idVlasnik"> Proslijedeni vlasnik </param> private void PopuniZivotinje(int idVlasnik) { using (var db = new MazaEntities()) { List <Zivotinja> listaTrazenihZivotinja = db.Zivotinja.Where(z => z.ID_vlasnika == idVlasnik).ToList(); uiOdabirZivotinja.DataSource = listaTrazenihZivotinja; uiOdabirZivotinja.DisplayMember = "ime"; uiOdabirZivotinja.ValueMember = "ID_zivotinja"; } }
/// <summary> /// Popunjava se datagridview uiPrikazZivotinja podacima o zivotinjama od vlasnika prenesenog parametrom /// </summary> /// <param name="oznaceni">Označeni vlasnik</param> public void PopuniZivotinje(Vlasnik oznaceni) { BindingList <Zivotinja> listaZivotinja = null; using (var db = new MazaEntities()) { db.Vlasnik.Attach(oznaceni); listaZivotinja = new BindingList <Zivotinja>(oznaceni.Zivotinja.ToList()); } zivotinjaBindingSource.DataSource = listaZivotinja; }
/// <summary> /// Funkcija za prikaz životinja u datagridview /// </summary> public void PrikaziZivotinje() { BindingList <ViewPrikazZivotinja> listaZivotinja = null; using (var db = new MazaEntities()) { listaZivotinja = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.ToList()); } uiPrikazZivotinja.DataSource = listaZivotinja; uiPrikazZivotinja.Columns[0].Visible = false; }
/// <summary> /// Dohvaćanje svih dijagnoza vezanih uz trenutno aktivnu kontrolu /// </summary> public void DohvatiDijagnoze() { using (var db = new MazaEntities()) { foreach (var dijagnoza in db.Dijagnoza) { if (dijagnoza.ID_kontrola == this.kontrola.ID_kontrola) { this.listaDijagnoza.Add(dijagnoza); } } } }
/// <summary> /// Dohvaćanje svih operacija vezanih uz trenutno aktivnu kontrolu /// </summary> public void DohvatiOperacije() { using (var db = new MazaEntities()) { foreach (var operacija in db.Operacija) { if (operacija.ID_kontrola == this.kontrola.ID_kontrola) { this.listaOperacija.Add(operacija); } } } }
/// <summary> /// Funkcija za sortiranje zivotinja uzlazno /// </summary> /// <param name="stupac">Odabrani stupac po kojemu se sortira</param> private void SortirajZivotinjeUzlazno(int stupac) { BindingList <ViewPrikazZivotinja> zivotinje; using (var db = new MazaEntities()) { switch (stupac) { case 1: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Ime).ToList()); break; case 2: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Spol).ToList()); break; case 3: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Vrsta).ToList()); break; case 4: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Datum_Rođenja).ToList()); break; case 5: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Broj_Čipa).ToList()); break; case 6: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Težina).ToList()); break; case 7: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Datum_Uginuća).ToList()); break; case 8: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Ime_Vlasnika).ToList()); break; case 9: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.OrderBy(z => z.Prezime_Vlasnika).ToList()); break; default: zivotinje = new BindingList <ViewPrikazZivotinja>(db.ViewPrikazZivotinja.ToList()); break; } } uiPrikazZivotinja.DataSource = zivotinje; }
/// <summary> /// Provjera postoji li uneseni podaci u bazi /// </summary> private void DohvatiPodatke() { // Provjera internet veze if (!(NetworkInterface.GetIsNetworkAvailable())) { throw new ExceptionNemaInterneta("Aplikacija zahtjeva stabilnu internet konekciju"); } else { using (var db = new MazaEntities()) { veterinar = db.Veterinar.Where(v => v.korime == uiUnosKorisnickogImena.Text).FirstOrDefault(); } } }
private void uiActionDodajZivotinju_Click(object sender, EventArgs e) { if (uiPrikazZivotinja.CurrentRow != null) { int idZivotinja = int.Parse(uiPrikazZivotinja.CurrentRow.Cells[0].Value.ToString()); Vlasnik vlasnik; using (var db = new MazaEntities()) { Zivotinja zivotinja = db.Zivotinja.Where(z => z.ID_zivotinja == idZivotinja).FirstOrDefault(); vlasnik = db.Vlasnik.Where(v => v.ID_vlasnik == zivotinja.ID_vlasnika).FirstOrDefault(); } frmDodajZivotinju dodajZivotinju = new frmDodajZivotinju(vlasnik); dodajZivotinju.ShowDialog(); } PrikaziZivotinje(); }
private void uiActionPovijestBolesti_Click(object sender, EventArgs e) { if (uiPrikazZivotinja.CurrentRow != null) { int idZivotinja = int.Parse(uiPrikazZivotinja.CurrentRow.Cells[0].Value.ToString()); Zivotinja oznacenaZivotinja; using (var db = new MazaEntities()) { oznacenaZivotinja = db.Zivotinja.Where(z => z.ID_zivotinja == idZivotinja).FirstOrDefault(); } if (oznacenaZivotinja != null) { frmPovijestBolesti povijestBolesti = new frmPovijestBolesti(oznacenaZivotinja); povijestBolesti.ShowDialog(); } } }
/// <summary> /// Popunjava combobox uiOdabirVlasnika s vlasnicima iz baze podataka /// </summary> private void PopuniVlasnike() { using (var db = new MazaEntities()) { List <KeyValuePair <int, string> > listaVlasnika = new List <KeyValuePair <int, string> >(); foreach (Vlasnik item in db.Vlasnik) { listaVlasnika.Add(new KeyValuePair <int, string>(item.ID_vlasnik, item.ime + " " + item.prezime)); } uiOdabirVlasnik.DataSource = listaVlasnika; uiOdabirVlasnik.DisplayMember = "Value"; uiOdabirVlasnik.ValueMember = "Key"; uiOdabirVeterinar.SelectedValue = PrijavljeniVeterinar.Veterinar.ID_veterinar; } }
/// <summary> /// Dodavanje nove stavke operacije ili ažuriranje postojeće /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void uiActionDodajOperaciju_Click(object sender, EventArgs e) { if (uiVrstaZahvataUnos.Text == "") { MessageBox.Show("Potrebno je unesti vrstu zahvata operacije."); return; } using (var db = new MazaEntities()) { if (this.operacija == null) { db.Kontrola.Attach(this.kontrola); TimeSpan vrijemeSati = TimeSpan.Parse(uiTrajanjeZahvataUnos.Value.ToLongTimeString()); this.operacija = new Operacija { vrsta_zahvata = uiVrstaZahvataUnos.Text, datum_zahvata = DateTime.Parse(uiDatumZahvataTekst.Text), ID_kontrola = this.kontrola.ID_kontrola, napomena = uiNapomenaUnos.Text, trajanje_zahtjeva = vrijemeSati }; db.Operacija.Add(this.operacija); this.DialogResult = DialogResult.OK; } else { db.Kontrola.Attach(this.kontrola); db.Operacija.Attach(this.operacija); TimeSpan vrijemeSati = TimeSpan.Parse(uiTrajanjeZahvataUnos.Value.ToLongTimeString()); this.operacija.vrsta_zahvata = uiVrstaZahvataUnos.Text; this.operacija.datum_zahvata = DateTime.Parse(uiDatumZahvataTekst.Text); this.operacija.ID_kontrola = this.kontrola.ID_kontrola; this.operacija.napomena = uiNapomenaUnos.Text; this.operacija.trajanje_zahtjeva = vrijemeSati; } db.SaveChanges(); } this.Close(); }
private void DohvatiAktivnosti() { using (var db = new MazaEntities()) { foreach (var kontrola in db.Kontrola) { // Dohvacanje aktivnosti prijavljenog veterinara if (!sviVeterinari) { if (kontrola.datum_kontrole > datumOd && kontrola.datum_kontrole < datumDo && kontrola.ID_veterinar == PrijavljeniVeterinar.Veterinar.ID_veterinar) { int index = listaDaniAktivnosti.FindIndex(a => a.Dan == kontrola.datum_kontrole.DayOfWeek); if (index >= 0) { listaDaniAktivnosti[index].DodajAktivnost(kontrola); } else { DanAktivnosti noviDanAktivnosti = new DanAktivnosti(kontrola.datum_kontrole.DayOfWeek, kontrola); listaDaniAktivnosti.Add(noviDanAktivnosti); } } } // Dohvacanje aktivnosti za sve veterinare else { if (kontrola.datum_kontrole > datumOd && kontrola.datum_kontrole < datumDo) { int index = listaDaniAktivnosti.FindIndex(a => a.Dan == kontrola.datum_kontrole.DayOfWeek); if (index >= 0) { listaDaniAktivnosti[index].DodajAktivnost(kontrola); } else { DanAktivnosti noviDanAktivnosti = new DanAktivnosti(kontrola.datum_kontrole.DayOfWeek, kontrola); listaDaniAktivnosti.Add(noviDanAktivnosti); } } } } } }