Exemplo n.º 1
0
        /**
         * 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);
        }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        /**
         * 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);
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
        /**
         * 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);
        }