static void RasporedPregleda() { Console.WriteLine("Unesite matični broj pacijenta čije raspored pregleda želite" + Environment.NewLine); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:" + Environment.NewLine); jmbg = Console.ReadLine(); } normalniPacijent p = K.ListaPacijenata.FirstOrDefault(x => x.JMBG == jmbg); while (p == null) { Console.WriteLine("Ne postoji pacijent sa tim matičnim brojem. Pokušajte ponovo: \n"); jmbg = Console.ReadLine(); p = K.ListaPacijenata.FirstOrDefault(x => x.JMBG == jmbg); } int piii = K.ListaPacijenata.FindIndex(x => x.JMBG == jmbg); for (int i = 0; i < K.ListaPacijenata[piii].NaziviOrdinacija.Count; i++) { ordinacija o = K.Ordinacije.FirstOrDefault(x => x.NazivOrdinacije == K.ListaPacijenata[piii].NaziviOrdinacija[i]); int iee = 1 + o.PacijentiJMBG.FindIndex(x => x == jmbg); Console.WriteLine("Pacijent ima " + iee + ". pregled u ordinaciji " + o.NazivOrdinacije); } }
static void RegistrujNoviPregled() { Console.WriteLine("Unesite matični broj pacijenta za kojeg želite registrovati novi pregled:" + Environment.NewLine); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:" + Environment.NewLine); jmbg = Console.ReadLine(); } del delegat = (s1, s2) => s1 == s2; pacijent p = K.ListaPacijenata.FirstOrDefault(x => delegat(x.JMBG, jmbg)); if (p == null) { Console.WriteLine("Ne postoji pacijent sa unesenim matičnim brojem!" + Environment.NewLine); return; } int index1 = K.ListaPacijenata.FindIndex(x => delegat(x.JMBG, jmbg)); Console.WriteLine("Unesite broj pregleda koji su izvšeni :"); int brPregleda = 0; if (!Int32.TryParse(Console.ReadLine(), out brPregleda) && brPregleda > (K.ListaPacijenata[index1]).NaziviOrdinacija.Count()) { Console.WriteLine("Pogrešan unos!" + Environment.NewLine); return; } K.ListaPacijenata[index1].RacunPacijenta = new racun(); K.ListaPacijenata[index1].RacunPacijenta.Ordinacijee = new List <string>(); for (int i = 0; i < brPregleda; i++) { Console.WriteLine("Unesite naziv ordinacije u kojoj je izvršen pregled:" + Environment.NewLine); string ulaz = Console.ReadLine(); ordinacija ordi = K.Ordinacije.FirstOrDefault(x => delegat(x.NazivOrdinacije, ulaz)); while (ordi == null) { Console.WriteLine("Ne postoji ordinacija s unesenim imenom!" + Environment.NewLine); ulaz = Console.ReadLine(); ordi = K.Ordinacije.FirstOrDefault(ordinacija => ordinacija.NazivOrdinacije == ulaz); } int index = K.ListaDoktora.FindIndex(doktor => doktor.JMBG == ordi.Dr); int index2 = K.Ordinacije.FindIndex(ordinacija => ordinacija.NazivOrdinacije == ordi.NazivOrdinacije); int index3 = K.Ordinacije[index2].PacijentiJMBG.FindIndex(x => x == jmbg); int indexpacijenta = K.ListaPacijenata.FindIndex(pacijent => pacijent.JMBG == jmbg); K.ListaDoktora[index].PregledanoPacijenata++; (K.ListaPacijenata[indexpacijenta]).NaziviOrdinacija.Add(ulaz); K.ListaPacijenata[indexpacijenta].RacunPacijenta.KrajnjiRacun += K.Ordinacije[index2].CijenaUsluge; K.ListaPacijenata[indexpacijenta].RacunPacijenta.Ordinacijee.Add(ulaz); K.ListaPacijenata[indexpacijenta].ObavljenoPregleda++; } }
static void RegBrisiPacijenta() { Console.WriteLine(Environment.NewLine + "Odaberite jednu od opcija:" + Environment.NewLine + "1 - Registruj pacijenta" + Environment.NewLine + "2 - Briši pacijenta"); string ulaz = Console.ReadLine(); if (ulaz == "1") { Console.WriteLine(Environment.NewLine + "Odaberite jednu od opcija:" + Environment.NewLine + "1 - Normalan pacijent" + Environment.NewLine + "2 - Hitan slučaj"); string u2 = Console.ReadLine(); if (u2 == "1") { Console.WriteLine("Unesite ime pacijenta :"); string ime = Console.ReadLine(); Console.WriteLine("Unesite prezime pacijenta"); string prezime = Console.ReadLine(); Console.WriteLine("Unesite datum rođenja pacijenta"); DateTime datumRodjenja; while (!DateTime.TryParse(Console.ReadLine(), out datumRodjenja)) { Console.WriteLine("Datum neispravno unesen. Molimo pokušajte ponovo(DD-MM-GGGG):"); } Console.WriteLine("Unesite JMBG pacijenta"); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:"); jmbg = Console.ReadLine(); } Console.WriteLine("Unesite spol pacijenta"); string spol = Console.ReadLine(); while (spol != "M" && spol != "Ž") { Console.WriteLine("Spol pogrešno unesen. Pokušajte ponovo."); spol = Console.ReadLine(); } Console.WriteLine("Unesite adresu pacijenta"); string adresa = Console.ReadLine(); while (adresa.Length > 50) { Console.WriteLine("Adresa je preduga, unesite je ponovo!"); adresa = Console.ReadLine(); } Console.WriteLine("Unesite bračno stanje pacijenta : "); string bracnoStanje = Console.ReadLine(); if (spol == "M") { while (bracnoStanje != "Oženjen" && bracnoStanje != "Neoženjen") { Console.WriteLine("Unijeli ste pogrešne podatke. Opcije koje možete unijeti su: Oženjen ili Neoženjen."); bracnoStanje = Console.ReadLine(); } } else { while (bracnoStanje != "Udana" && bracnoStanje != "Nedudana") { Console.WriteLine("Unijeli ste pogrešne podatke. Opcije koje možete unijeti su: Udana ili Neudana."); bracnoStanje = Console.ReadLine(); } } Console.WriteLine("Unesite datum prijema pacijenta"); DateTime datumPrijema; while (!DateTime.TryParse(Console.ReadLine(), out datumPrijema)) { Console.WriteLine("Datum neispravno unesen. Molimo pokušajte ponovo(DD-MM-GGGG):"); } Console.WriteLine("Unesite broj pregleda koje želite izvršiti :"); int brPregleda = 0; while (!Int32.TryParse(Console.ReadLine(), out brPregleda) && brPregleda < 1) { Console.WriteLine("Pogrešan unos! Pokušajte ponovo: " + Environment.NewLine); } int kBrPrg = brPregleda; List <string> naziviOrdinacija = new List <string>(); List <int> prg = new List <int>(); Console.WriteLine("Dostupne ordinacije : \n"); bool tac = false; for (int j = 0; j < K.Ordinacije.Count; j++) { if (K.Ordinacije[j].Zauzetost == false) { Console.WriteLine(K.Ordinacije[j].NazivOrdinacije); tac = true; } } if (tac == false) { Console.WriteLine("Nema dostupnih ordinacija!\n"); return; } for (int i = 0; i < brPregleda; i++) { Console.WriteLine("Unesite naziv ordinacije u kojoj se vrši pregled:" + Environment.NewLine); string ulaz1 = Console.ReadLine(); ordinacija ordi = K.Ordinacije.FirstOrDefault(ordinacija => ordinacija.NazivOrdinacije == ulaz1); while (ordi == null) { Console.WriteLine("Ne postoji ordinacija s unesenim imenom!" + Environment.NewLine); ulaz1 = Console.ReadLine(); ordi = K.Ordinacije.FirstOrDefault(ordinacija => ordinacija.NazivOrdinacije == ulaz1); } int index = K.pronadjiIndexOrdinacije(ulaz1); if (K.Ordinacije[index].Zauzetost == true) { Console.WriteLine("Ordinacija nedostupna."); ulaz1 = Console.ReadLine(); kBrPrg--; continue; } bool taci = false; for (int ii = 0; ii < naziviOrdinacija.Count(); ii++) { if (naziviOrdinacija[ii] == ulaz1) { Console.WriteLine("Već je registrovan pregled u toj ordinaciji."); taci = true; } } if (taci == true) { return; } naziviOrdinacija.Add(ulaz1); K.Ordinacije[index].PacijentiJMBG.Add(jmbg); prg.Add(index); } K.registrujPacijenta(new normalniPacijent(ime, prezime, jmbg, brPregleda, naziviOrdinacija, datumRodjenja, spol, adresa, bracnoStanje, datumPrijema)); List <int> lista = new List <int>(); while (prg.Count() != 0) { int min = prg[0]; for (int i = 0; i < prg.Count(); i++) { if (K.Ordinacije[prg[i]].PacijentiJMBG.Count() < K.Ordinacije[min].PacijentiJMBG.Count()) { min = prg[i]; } } lista.Add(min); prg.Remove(min); } Console.WriteLine("Raspored pregleda : "); for (int j = 0; j < lista.Count(); j++) { int k = j + 1; Console.WriteLine(k + ". pregled je zakazan u " + K.Ordinacije[lista[j]].NazivOrdinacije + " ordinaciji" + ". Mjesto u redu " + K.Ordinacije[j].PacijentiJMBG.Count() + "\n"); } Console.WriteLine("--- Pacijent uspješno dodan! ---"); } else if (u2 == "2") { Console.WriteLine("Unesite izvještaj o prvoj pomoći :" + Environment.NewLine); string prvaPomoc = Console.ReadLine(); Console.WriteLine("Unesite razlog pružanja prve pomoći :" + Environment.NewLine); string razlogPrvePomoci = Console.ReadLine(); Console.WriteLine("Unesite ime pacijenta :" + Environment.NewLine); string ime = Console.ReadLine(); Console.WriteLine("Unesite prezime pacijenta :" + Environment.NewLine); string prezime = Console.ReadLine(); Console.WriteLine("Unesite datum rođenja :" + Environment.NewLine); DateTime datumRodjenja; while (!DateTime.TryParse(Console.ReadLine(), out datumRodjenja)) { Console.WriteLine("Datum neispravno unešen. Molimo, pokušajte ponovo(DD-MM-GGGG) :" + Environment.NewLine); } Console.WriteLine("Unesite JMBG pacijenta :" + Environment.NewLine); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:" + Environment.NewLine); jmbg = Console.ReadLine(); } Console.WriteLine("Da li je pacijent preminuo(Da/Ne) ?" + Environment.NewLine); string ziv = Console.ReadLine(); while (ziv != "Da" && ziv != "Ne") { Console.WriteLine("Neispravan unos! Odaberite opciju 'Da' ili 'Ne'. " + Environment.NewLine); ziv = Console.ReadLine(); } if (ziv == "Da") { Console.WriteLine("Unesite vrijeme nastupanja smrti :" + Environment.NewLine); TimeSpan vrijemeSmrti; while (!TimeSpan.TryParse(Console.ReadLine(), out vrijemeSmrti)) { Console.WriteLine("Vrijeme neispravno uneseno. Molimo pokušajte ponovo(HH-MM):" + Environment.NewLine); } Console.WriteLine("Unesite preliminarni uzrok smrti: " + Environment.NewLine); string preEliminarniUzrokSmrti = Console.ReadLine(); Console.WriteLine("Unesite datum obdukcije :" + Environment.NewLine); DateTime vrijemeObdukcije; while (!DateTime.TryParse(Console.ReadLine(), out vrijemeObdukcije)) { Console.WriteLine("Vrijeme neispravno uneseno. Molimo pokušajte ponovo(DD-MM-GGGG):" + Environment.NewLine); } } hitniPacijent p = new hitniPacijent(ime, prezime, jmbg, prvaPomoc, razlogPrvePomoci); K.registrujPacijenta(p); Console.WriteLine("--- Pacijent uspješno dodan! ---"); } else { Console.WriteLine("Nerazumljiva komanda"); } } else if (ulaz == "2") { Console.WriteLine("1 - Hitni slučaj \n2 -Normalni slučaj.\n"); string ulaz1 = Console.ReadLine(); if (ulaz1 == "2") { Console.WriteLine("Unesite JMBG pacijenta :" + Environment.NewLine); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:" + Environment.NewLine); jmbg = Console.ReadLine(); } pacijent p = K.ListaPacijenata.FirstOrDefault(x => x.JMBG == jmbg); while (p == null) { Console.WriteLine("Ne postoji takav pacijent u registru! Pokušajte ponovo: \n"); jmbg = Console.ReadLine(); p = K.ListaPacijenata.FirstOrDefault(x => x.JMBG == jmbg); } K.brisiPacijenta(jmbg); } else if (ulaz == "1") { Console.WriteLine("Unesite JMBG pacijenta :" + Environment.NewLine); string jmbg = Console.ReadLine(); while (jmbg.Length != 13) { Console.WriteLine("Matični broj neispravno unesen. Molimo pokušajte ponovo:" + Environment.NewLine); jmbg = Console.ReadLine(); } pacijent p = K.ListaPacijenataa.FirstOrDefault(x => x.JMBG == jmbg); while (p == null) { Console.WriteLine("Ne postoji takav pacijent u registru! Pokušajte ponovo: \n"); jmbg = Console.ReadLine(); p = K.ListaPacijenataa.FirstOrDefault(x => x.JMBG == jmbg); } K.brisiPacijentaa(jmbg); } else { Console.WriteLine("Nerazumljiva komanda!"); return; } } else { Console.WriteLine("Nerazumljiva komanda! " + Environment.NewLine); } }