public void registrujPacijenta(hitniPacijent p) { if (ListaPacijenata.Count() > 0) { pacijent pa = ListaPacijenata.FirstOrDefault(pacijent => pacijent.JMBG == p.JMBG); if (pa != null) { Console.WriteLine("Pacijent već unesen" + Environment.NewLine); return; } } ListaPacijenataa.Add(p); Console.WriteLine("--- Pacijent uspješno dodan! ---" + Environment.NewLine); }
static void Naplata() { Console.WriteLine("Unesite matični broj pacijenta čiji račun se želi naplatiti :" + 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(pacijent => pacijent.JMBG == jmbg); if (p == null) { Console.WriteLine("Ne postoji pacijent sa unesenim matičnim brojem!" + Environment.NewLine); return; } int indexpacijenta = K.ListaPacijenata.FindIndex(pacijent => pacijent.JMBG == jmbg); Console.WriteLine("Da li pacijent plaća gotovinski?" + Environment.NewLine); string ulaz1 = Console.ReadLine(); while (ulaz1 != "Da" && ulaz1 != "Ne") { Console.WriteLine("Pogrešan unos. Pokušajte ponova(Da/Ne) :" + Environment.NewLine); ulaz1 = Console.ReadLine(); } if (ulaz1 == "Da") { K.ListaPacijenata[indexpacijenta].RacunPacijenta.Rate = false; } else { Console.WriteLine("Unesite broj rata otplaćivanja računa :" + Environment.NewLine); int brRata = 0; if (!Int32.TryParse(Console.ReadLine(), out brRata)) { Console.WriteLine("Pogrešan unos!" + Environment.NewLine); return; } if (brRata < 1) { Console.WriteLine("Pogrešan unos!" + Environment.NewLine); return; } K.ListaPacijenata[indexpacijenta].RacunPacijenta.BrojRata = brRata; K.ListaPacijenata[indexpacijenta].RacunPacijenta.Rate = true; } K.generisiRacun(jmbg); Console.WriteLine("---Račun pacijenta sa matičnim brojem " + jmbg + " je : ---" + Environment.NewLine); for (int i = 0; i < K.ListaPacijenata[indexpacijenta].ObavljenoPregleda; i++) { int indexord = K.Ordinacije.FindIndex(ordinacija => ordinacija.NazivOrdinacije == K.ListaPacijenata[indexpacijenta].RacunPacijenta.Ordinacijee[i]); Console.WriteLine(K.Ordinacije[indexord].NazivOrdinacije + " ordinacija..." + K.Ordinacije[indexord].CijenaUsluge); } if ((K.ListaPacijenata[indexpacijenta]).ObavljenoPregleda < 3 && K.ListaPacijenata[indexpacijenta].RacunPacijenta.Rate == false) { Console.WriteLine("Saldo iznosi : " + K.ListaPacijenata[indexpacijenta].RacunPacijenta.KrajnjiRacun); } else if ((K.ListaPacijenata[indexpacijenta]).ObavljenoPregleda >= 3 && K.ListaPacijenata[indexpacijenta].RacunPacijenta.Rate == false) { Console.WriteLine("Saldo, uz popust od 10%, iznosi : " + K.ListaPacijenata[indexpacijenta].RacunPacijenta.KrajnjiRacun); } else { Console.WriteLine("Saldo : " + K.ListaPacijenata[indexpacijenta].RacunPacijenta.KrajnjiRacun + Environment.NewLine + "Broj rata :" + K.ListaPacijenata[indexpacijenta].RacunPacijenta.BrojRata + Environment.NewLine + "Cijena jedne rate: " + K.ListaPacijenata[indexpacijenta].RacunPacijenta.CijenaRate); } }
static void KreiranjeKartona() { Console.WriteLine("Unesite matični broj pacijenta čiji karton želite kreirati:" + 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 pacijent sa unesenim JMBG-om! Pokušajte ponovo : \n"); jmbg = Console.ReadLine(); p = K.ListaPacijenata.FirstOrDefault(x => x.JMBG == jmbg); } if (K.ListaKartona.Any(elektronskiKarton => elektronskiKarton.JMBG != jmbg)) { Console.WriteLine("Karton za zadani JMBG je već unesen!" + Environment.NewLine); return; } elektronskiKarton ek = new elektronskiKarton(); Console.WriteLine("Unesite sadržaj amneze za prethodno stanje : " + Environment.NewLine); for (int i = 0; i < 3; i++) { Console.WriteLine(ek.PitanjaPrethodnoStanje[i] + Environment.NewLine); ek.OdgovoriPrethodnoStanje[i] = Console.ReadLine(); } Console.WriteLine("Unesite sadržaj amneze za sadasnje stanje : " + Environment.NewLine); for (int i = 0; i < 3; i++) { Console.WriteLine(ek.PitanjaSadasnjeStanje[i] + Environment.NewLine); ek.OdgovoriSadasnjeStanje[i] = Console.ReadLine(); } Console.WriteLine("Unesite opis zdravstvenog stanja porodice : " + Environment.NewLine); ek.ZdravstvenoStanjePorodice = Console.ReadLine(); Console.WriteLine("Unesite zakljucak : " + Environment.NewLine); ek.ZakljucakLijecnika = Console.ReadLine(); Console.WriteLine("Unesite misljenje : " + Environment.NewLine); ek.MisljenjeLjekara = Console.ReadLine(); Console.WriteLine("Unesite rezultat pregleda : " + Environment.NewLine); ek.RezultatPregleda = Console.ReadLine(); Console.WriteLine("Unesite opis terapije : " + Environment.NewLine); ek.OpisTerapije = Console.ReadLine(); Console.WriteLine("Unesite vrstu terapije(Kratkoročna/Dugoročna) : " + Environment.NewLine); ek.OpisTerapije = Console.ReadLine(); while (ek.OpisTerapije != "Kratkoročna" && ek.OpisTerapije != "Dugoročna") { Console.WriteLine("Unijeli ste pogrešno. Molimo, pokušajte ponovno :" + Environment.NewLine); ek.OpisTerapije = Console.ReadLine(); } Console.WriteLine("Unesite JMBG doktora koji izdaje karton : " + 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(); } doktor dr = K.ListaDoktora.FirstOrDefault(doktor => doktor.JMBG == Jmbg); while (dr == null) { Console.WriteLine("Ne postoji doktor sa unesenim matičnim brojem! Moilimo, pokušajte ponovo: \n" + Environment.NewLine); Jmbg = Console.ReadLine(); K.ListaDoktora.FirstOrDefault(doktor => doktor.JMBG == Jmbg); } ek.JMBGDoktora = Jmbg; K.ListaKartona.Add(ek); Console.WriteLine("--- Karton uspješno kreiran za pacijenta sa matičnim brojem " + jmbg + "---" + Environment.NewLine); }
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); } }