/** * gets Instance from singleton UpdateManagement * @return singleton UpdateManagement */ public static UpdateManagement GetInstance() { if (_instance == null) { _instance = new UpdateManagement(); } return(_instance); }
/** * searches bed for patient * @return string of bed */ public string suchePassendesBett(Patient patient) { string bett = "NULL"; //DatabaseManagement.GetInstance().GetPassendesBett(patient.Station, patient); if (patient.Station.Equals("Pädiatrie") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Paediatrie < 50)) { //suche bett in Paediatrie bett = DatabaseManagement.GetInstance().GetPassendesBett("Pädiatrie", patient); } else if (patient.Station.Equals("Gynäkologie") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Gynaekologie < 50)) { //suche bett in Gynäkologie bett = DatabaseManagement.GetInstance().GetPassendesBett("Gynäkologie", patient); } else if (patient.Station.Equals("Innere Medizin") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Innere < 50)) { //suche bett in Innere Medizin bett = DatabaseManagement.GetInstance().GetPassendesBett("Innere Medizin", patient); } else if (patient.Station.Equals("Onkologie") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Onkologie < 50)) { //suche bett in Onkologie bett = DatabaseManagement.GetInstance().GetPassendesBett("Onkologie", patient); } else if (patient.Station.Equals("Orthopädie") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Orthopaedie < 50)) { //suche bett in Orthopädie bett = DatabaseManagement.GetInstance().GetPassendesBett("Orthopädie", patient); } else if (patient.Station.Equals("Intensivstation") && (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Intensiv < 10)) { // suche bett in Intensivstation bett = DatabaseManagement.GetInstance().GetPassendesBett("Intensivstation", patient); } if (bett == "NULL") { if (patient.SollStation.Equals("")) { patient.SollStation = patient.Station; DatabaseManagement.GetInstance().PatientAendern(patient); } bett = SucheBettAufAndererStation(patient); } return(bett); }
/** * 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); }
private string SucheBettAufAndererStation(Patient patient) { bool found = false; int count = 4; string bett = "NULL"; while (!found && (count >= 0)) { if (UpdateManagement.GetInstance().GetCurrentBettenbelegung().Innere < 50) { bett = DatabaseManagement.GetInstance().GetPassendesBett("Innere Medizin", patient); //suche bett in innere, wenn patient nicht in eigene station kann } if (bett == "NULL") // patient auf station mit größter freier kapaziät unterbringen { if (patient.Geschlecht.Equals("w")) { bett = DatabaseManagement.GetInstance().GetPassendesBett(UpdateManagement.GetInstance().GetBettenbelegungSortiert(UpdateManagement.GetInstance().GetCurrentBettenbelegung())[count], patient); } else { if (UpdateManagement.GetInstance().GetBettenbelegungSortiert(UpdateManagement.GetInstance().GetCurrentBettenbelegung())[count].Equals("Gynäkologie")) { count--; bett = DatabaseManagement.GetInstance().GetPassendesBett(UpdateManagement.GetInstance().GetBettenbelegungSortiert(UpdateManagement.GetInstance().GetCurrentBettenbelegung())[count], patient); } else { bett = DatabaseManagement.GetInstance().GetPassendesBett(UpdateManagement.GetInstance().GetBettenbelegungSortiert(UpdateManagement.GetInstance().GetCurrentBettenbelegung())[count], patient); } } } if (bett != "NULL") { found = true; } count--; } return(bett); }
/** * 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); }
public bool ITSVoll() { Bettenbelegung belegung = UpdateManagement.GetInstance().GetCurrentBettenbelegung(); if (belegung.Intensiv == 10) { 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 unserer Intensivstation sind erschöpft!"; mail.Body = "Sehr geehrte Kolleginnen und Kollegen,\n" + "die Betten auf unserer Intensivstationen sind vollständig belegt.\n" + "Dies ist eine Anfrage, Patienten an sie zu transferieren, da keine Kapaziäten mehr auf unserer Intensivstation 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); }