コード例 #1
0
ファイル: UpdateManagement.cs プロジェクト: Janessus/SoftBed
 /**
  * gets Instance from singleton UpdateManagement
  * @return singleton UpdateManagement
  */
 public static UpdateManagement GetInstance()
 {
     if (_instance == null)
     {
         _instance = new UpdateManagement();
     }
     return(_instance);
 }
コード例 #2
0
        /**
         * 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);
        }
コード例 #3
0
        /**
         * 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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        /**
         * 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);
        }
コード例 #6
0
        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);
        }