/** * refreshes progressbars */ private void RefreshBettenbelegung() { Bettenbelegung currentBelegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); gynProgBar.Value = currentBelegung.Gynaekologie; labelGyn.Text = currentBelegung.Gynaekologie.ToString() + "/50"; RefreshColorProgBar(gynProgBar); iMProgBar.Value = currentBelegung.Innere; labelIm.Text = currentBelegung.Innere.ToString() + "/50"; RefreshColorProgBar(iMProgBar); onkProgBar.Value = currentBelegung.Onkologie; labelOnk.Text = currentBelegung.Onkologie.ToString() + "/50"; RefreshColorProgBar(onkProgBar); orthProgBar.Value = currentBelegung.Orthopaedie; labelOrth.Text = currentBelegung.Orthopaedie.ToString() + "/50"; RefreshColorProgBar(orthProgBar); paedProgBar.Value = currentBelegung.Paediatrie; labelPaed.Text = currentBelegung.Paediatrie.ToString() + "/50"; RefreshColorProgBar(paedProgBar); itsProgBar.Value = currentBelegung.Intensiv; labelIts.Text = currentBelegung.Intensiv.ToString() + "/10"; RefreshColorProgBar(itsProgBar); gesKHProgBar.Value = currentBelegung.Gesamt(); labelGes.Text = currentBelegung.Gesamt().ToString() + "/260"; RefreshColorProgBar(gesKHProgBar); }
/** * uebergibt dem Databasemanagement eine Versichertennummer, * um den dazugehoerigen Patienten zu loeschen * @return true, wenn Patient erfolgreich geloescht und false, wenn nicht erfolgreich */ public bool PatientLoeschen(string versNr) { bool request = DatabaseManagement.GetInstance().PatientLoeschen(versNr); Bettenbelegung belegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); islast = belegung.Intensiv; geslast = belegung.Gesamt(); return(request); }
/** * uebergibt dem Databasemanagement einen neuen Patienten zum Anlegen * @return true, wenn Patient erfolgreich angelegt und false, wenn nicht erfolgreich */ public bool PatientAnlegen(Patient newPatient, String roomSuggestion) { bool request = DatabaseManagement.GetInstance().PatientAnlegen(newPatient, roomSuggestion); Bettenbelegung belegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); if (belegung.Intensiv == 10 && islast == 9) { ZimmerManagement.GetInstance().ITSVoll(); } if (belegung.Gesamt() == 225 && geslast == 224) { ZimmerManagement.GetInstance().KHFastVoll(); } islast = belegung.Intensiv; geslast = belegung.Gesamt(); return(request); }
/** * tests if KH is full * @return 0 if not full, 1 if ITS full, 2 if everything except ITS is full, 3 if everything is full */ private int IsKHFull() { int full = 0; int currentBelegungITS = UpdateManagement.GetInstance().GetCurrentBettenbelegung().Intensiv; int currentBelegungGyn = UpdateManagement.GetInstance().GetCurrentBettenbelegung().Gynaekologie; Bettenbelegung currentBelegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); if (currentBelegungITS >= 10) { editMeldungLdl.Text = "Die Intensivstation ist voll! Legen Sie keinen Patienten mehr in die Intensivstation!"; full = 1; } else if ((currentBelegung.Gesamt() - currentBelegungITS - currentBelegungGyn) >= 200) { editMeldungLdl.Text = "Alle Stationen außer die Intensivstation und die Gynäkologie sind voll!"; full = 4; } if (currentBelegung.Gesamt() - currentBelegungITS >= 250) { editMeldungLdl.Text = "Alle Stationen außer die Intensivstation sind voll! Sie können Patienten nur noch in die Intensivstation legen!"; full = 2; } if ((currentBelegung.Gesamt() - currentBelegungGyn) >= 210) { editMeldungLdl.Text = "Alle Stationen außer die Gynäkologie sind voll! Sie können nur noch Frauen aufnehmen!"; full = 5; } if (currentBelegung.Gesamt() >= 260) { editMeldungLdl.Text = "Das Krankenhaus ist voll! Es kann kein weiterer Patient mehr aufgenommen werden!"; full = 3; } return(full); }
public void GetCurrentBettenbelegungTest() { UpdateManagement upM = UpdateManagement.GetInstance(); PatientenManagement pM = PatientenManagement.GetInstance(); Bettenbelegung bettenbelegung1 = upM.GetCurrentBettenbelegung(); Patient dummy = new Patient("Max", "Mustermann", "F111222333", new DateTime(1985, 01, 01), "Onkologie", "Onkologie", new DateTime(2019, 04, 01), "m"); Patient dummy2 = new Patient("Sven", "Knabe", "G456789012", new DateTime(2010, 02, 02), "Pädiatrie", "Pädiatrie", new DateTime(2019, 05, 01), "m"); Patient dummy3 = new Patient("Christina", "Meier", "H899001233", new DateTime(1997, 04, 05), "Onkologie", "Onkologie", new DateTime(2019, 09, 01), "w"); pM.PatientAnlegen(dummy, ZimmerManagement.GetInstance().suchePassendesBett(dummy)); pM.PatientAnlegen(dummy2, ZimmerManagement.GetInstance().suchePassendesBett(dummy2)); pM.PatientAnlegen(dummy3, ZimmerManagement.GetInstance().suchePassendesBett(dummy3)); Bettenbelegung bettenbelegung2 = upM.GetCurrentBettenbelegung(); Assert.IsTrue(bettenbelegung1.Gesamt() + 3 == bettenbelegung2.Gesamt()); }
/** * sendet eine E-Mail an umliegende Krankenhaeuser * @return true, wenn E-Mail erfolgreich gesendet wurde und false, wenn das Senden nicht erfolgreich war */ public bool KHFastVoll() { Bettenbelegung belegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); if (belegung.Gesamt() >= 225) { try { MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@*****.**"); //Absender SmtpClient smtp = new SmtpClient(); smtp.Port = 587; smtp.EnableSsl = true; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential("*****@*****.**", "SoftBedProject"); //Adresse und Passwort smtp.Host = "smtp.gmail.com"; mail.To.Add("*****@*****.**"); //Empfänger mail.Subject = "Die Kapazizäten unseres Krankehauses sind erschöpft!"; mail.Body = "Sehr geehrte Kolleginnen und Kollegen,\n" + "die Betten auf unseren Stationen sind fast vollständig belegt.\n" + "Dies ist eine Anfrage, Patienten an sie zu transferieren, wenn keine Kapaziäten mehr vorhanden sind.\n" + "Mit freundlichen Grüßen"; smtp.Send(mail); return(true); } catch (Exception ex) { Console.WriteLine("Fehler beim Senden der E-Mail\n\n{0}", ex.Message); } } return(false); }