Ejemplo n.º 1
0
 public bool UpdateIllness(Illness illness)
 {
     if (illness.Name == "error")
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 2
0
 public bool DelinkPatientIllness(Patient patient, Illness illness)
 {
     if (patient.PatientID == 80 || illness.IllnessID == 80)
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 3
0
 public bool DeleteIllness(Illness illness)
 {
     if (illness.IllnessID == 40)
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 4
0
 public bool CreateIllness(Illness illness)
 {
     if (illness.Name == "error")
     {
         return(false);
     }
     illness.IllnessID = 99;
     return(true);
 }
Ejemplo n.º 5
0
 public Illness[] GetIllnesses(int pager, int number)
 {
     Illness[] illnesses = new Illness[5];
     for (int i = 0; i < illnesses.Length; i++)
     {
         int id = i + pager * 5;
         illnesses[i] = GetIllness(id);
     }
     return(illnesses);
 }
Ejemplo n.º 6
0
        public Illness GetIllness(int id)
        {
            if (id == 55)
            {
                return(null);
            }
            Illness illness = new Illness("name " + id, (id / 3 + 8) % 2 == 0, (id / 8 + 3) % 3 == 0, (id / 3 - 9) % 5 == 0);

            illness.IllnessID = id;
            return(illness);
        }
Ejemplo n.º 7
0
        /*
         * Describe a Illness Row
         */
        public string DescribeIllnessRow(Illness illness)
        {
            string row = illness.Name;

            if (illness.Contagious)
            {
                row += " : Contagious";
            }
            if (illness.Curable)
            {
                row += " : Curable";
            }
            if (illness.Lethal)
            {
                row += " : Lethal";
            }
            return(row);
        }
Ejemplo n.º 8
0
 public Patient[] GetPatientsToIllness(Illness illness, int pager, int number)
 {
     return(this.GetPatients(illness.IllnessID + pager, number));
 }
Ejemplo n.º 9
0
        /*
         * Execute commands that depends on menu
         * Return true if the command was found
         */
        public bool MenuCommand(ConIO command)
        {
            switch (this.CurrentMenu)
            {
            case "root":
                switch (command.StringInput)
                {
                case "patients":
                    this.GoTo("patients", "patientlist");
                    return(true);

                case "illnesses":
                    this.GoTo("illnesses", "illnesslist");
                    return(true);

                case "back":
                    if (ConIO.Confirm("Exit programm?"))
                    {
                        ConIO.OutputLine("Programm beendet!");
                        Environment.Exit(0);
                    }
                    return(true);
                }
                break;

            case "patients":
                if (command.TestInt())
                {
                    Patient loadPatient = this.Fachkonzept.GetPatient(command.IntInput);
                    if (loadPatient == null)
                    {
                        ConIO.OutputError("ERROR: Patient " + command.IntInput + " not found!");
                    }
                    else
                    {
                        this.CurrentPatient = loadPatient;
                        this.GoTo("patient", "patient");
                    }
                    return(true);
                }
                switch (command.StringInput)
                {
                case "add":
                    this.GoTo("patient-add", "patient-add");
                    return(true);

                case "back":
                    this.GoTo("root");
                    return(true);
                }
                break;

            case "illnesses":
                if (command.TestInt())
                {
                    Illness loadIllness = this.Fachkonzept.GetIllness(command.IntInput);
                    if (loadIllness == null)
                    {
                        ConIO.OutputError("ERROR: Illness " + command.IntInput + " not found!");
                    }
                    else
                    {
                        this.CurrentIllness = loadIllness;
                        this.GoTo("illness", "illness");
                    }
                    return(true);
                }
                switch (command.StringInput)
                {
                case "add":
                    this.GoTo("illness-add", "illness-add");
                    return(true);

                case "back":
                    this.GoTo("root");
                    return(true);
                }
                break;

            case "patient":
                switch (command.StringInput)
                {
                case "edit":
                    this.GoTo("patient-edit", "patient-edit");
                    return(true);

                case "delete":
                    if (ConIO.Confirm("Delete Patient (" + this.DescribePatient(this.CurrentPatient) + ")?"))
                    {
                        if (this.Fachkonzept.DeletePatient(this.CurrentPatient))
                        {
                            this.GoTo("patients", "patientlist");
                        }
                        else
                        {
                            ConIO.OutputError("ERROR: Can not delete Patient (" + this.DescribePatient(this.CurrentPatient) + ")!");
                        }
                    }
                    return(true);

                case "illnesses":
                    this.GoTo("patient-illness", "patient-illnesslist");
                    return(true);

                case "back":
                    this.GoTo("patients", "patientlist");
                    return(true);
                }
                break;

            case "illness":
                switch (command.StringInput)
                {
                case "edit":
                    this.GoTo("illness-edit", "illness-edit");
                    return(true);

                case "delete":
                    if (ConIO.Confirm("Delete Illness (" + this.DescribeIllness(this.CurrentIllness) + ")?"))
                    {
                        if (this.Fachkonzept.DeleteIllness(this.CurrentIllness))
                        {
                            this.GoTo("illnesses", "illnesslist");
                        }
                        else
                        {
                            ConIO.OutputError("ERROR: Can not delete Illness (" + this.DescribeIllness(this.CurrentIllness) + ")!");
                        }
                    }
                    return(true);

                case "patients":
                    this.GoTo("illness-patient", "illness-patientlist");
                    return(true);

                case "back":
                    this.GoTo("illnesses", "illnesslist");
                    return(true);
                }
                break;

            case "patient-illness":
                switch (command.StringInput)
                {
                case "add":
                    this.GoTo("patient-illness-add", "illnesslist");
                    return(true);

                case "remove":
                    this.GoTo("patient-illness-remove", "patient-illnesslist");
                    return(true);

                case "back":
                    this.GoTo("patient", "patient");
                    return(true);
                }
                break;

            case "illness-patient":
                switch (command.StringInput)
                {
                case "add":
                    this.GoTo("illness-patient-add", "patientlist");
                    return(true);

                case "remove":
                    this.GoTo("illness-patient-remove", "illness-patientlist");
                    return(true);

                case "back":
                    this.GoTo("illness", "illness");
                    return(true);
                }
                break;

            case "patient-add":
                switch (command.StringInput)
                {
                case "add":
                    this.CurrentPatient = new Patient();
                    ConIO input = null;

                    // set the FirstName field of the new patient
                    do
                    {
                        input = ConIO.Input("Patient First Name", "           : ");
                        if (this.CancelAddPatient(input.StringInput))
                        {
                            return(true);
                        }
                    } while (input.StringInput.Length == 0);
                    this.CurrentPatient.FirstName = input.StringInput;

                    // set the LastName field of the new patient
                    do
                    {
                        input = ConIO.Input("Patient Last Name", "            : ");
                        if (this.CancelAddPatient(input.StringInput))
                        {
                            return(true);
                        }
                    } while (input.StringInput.Length == 0);
                    this.CurrentPatient.LastName = input.StringInput;

                    // set the Birthday field of the new patient
                    bool isDate = false;
                    do
                    {
                        input = ConIO.Input("Patient Birthday (dd.mm.YYYY)");
                        if (this.CancelAddPatient(input.StringInput))
                        {
                            isDate = false;
                            break;
                        }
                        isDate = input.TestDate();
                        if (!isDate)
                        {
                            ConIO.OutputNewLine();
                            ConIO.OutputError("ERROR: Wrong date format!");
                        }
                    } while (!isDate);
                    if (isDate)
                    {
                        this.CurrentPatient.Birthday = input.DateInput;
                    }
                    else
                    {
                        return(true);
                    }

                    // confirm the new patient from the user before save the patient
                    ConIO.OutputNewLine();
                    this.PrintMenuPage("patient-add", "patient");
                    ConIO.OutputNewLine();
                    if (ConIO.Confirm("Add the Patient?"))
                    {
                        if (!this.Fachkonzept.CreatePatient(this.CurrentPatient))
                        {
                            ConIO.OutputError("ERROR: Can not create patient!");
                            this.GoTo("patients", "patientlist");
                            return(true);
                        }
                    }
                    else
                    {
                        this.GoTo("patients", "patientlist");
                        return(true);
                    }

                    this.GoTo("patient", "patient");
                    return(true);
                }
                break;

            case "illness-add":
                switch (command.StringInput)
                {
                case "add":
                    this.CurrentIllness = new Illness();
                    ConIO input = null;

                    // set the Name field of the new illness
                    do
                    {
                        input = ConIO.Input("Illness Name", "       : ");
                        if (this.CancelAddIllness(input.StringInput))
                        {
                            return(true);
                        }
                    } while (input.StringInput.Length == 0);
                    this.CurrentIllness.Name = input.StringInput;

                    // set the Contagious field of the new illness
                    do
                    {
                        input = ConIO.Input("Is Contagious?(j/n)");
                    } while (!input.TestBool() && input.StringInput != "cancel");
                    if (this.CancelAddIllness(input.StringInput))
                    {
                        return(true);
                    }
                    this.CurrentIllness.Contagious = input.BoolInput;

                    // set the Lethal field of the new illness
                    do
                    {
                        input = ConIO.Input("Is Lethal?(j/n)", "    : ");
                    } while (!input.TestBool() && input.StringInput != "cancel");
                    if (this.CancelAddIllness(input.StringInput))
                    {
                        return(true);
                    }
                    this.CurrentIllness.Lethal = input.BoolInput;

                    // set the Curable field of the new illness
                    do
                    {
                        input = ConIO.Input("Is Curable?(j/n)", "   : ");
                    } while (!input.TestBool() && input.StringInput != "cancel");
                    if (this.CancelAddIllness(input.StringInput))
                    {
                        return(true);
                    }
                    this.CurrentIllness.Curable = input.BoolInput;

                    // confirm the new illness from the user before save the illness
                    ConIO.OutputNewLine();
                    this.PrintMenuPage("illness-add", "illness");
                    ConIO.OutputNewLine();
                    if (ConIO.Confirm("Add the Illness?"))
                    {
                        if (!this.Fachkonzept.CreateIllness(this.CurrentIllness))
                        {
                            ConIO.OutputError("ERROR: Can not create illness!");
                            this.GoTo("illnesses", "illnesslist");
                            return(true);
                        }
                    }
                    else
                    {
                        this.GoTo("illnesses", "illnesslist");
                        return(true);
                    }

                    this.GoTo("illness", "illness");
                    return(true);
                }
                break;

            case "patient-edit":
                switch (command.StringInput)
                {
                case "edit":
                    ConIO.OutputLine("Enter an empty text to not change the value!");
                    ConIO.OutputNewLine();
                    ConIO input = null;

                    // edit the FirstName field of the current patient
                    input = this.InputEditField(this.CurrentPatient.FirstName, "First name");
                    if (this.CancelEditPatient(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentPatient.FirstName = input.StringInput;
                    }

                    // edit the LastName field of the current patient
                    input = this.InputEditField(this.CurrentPatient.LastName, "Last name ");
                    if (this.CancelEditPatient(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentPatient.LastName = input.StringInput;
                    }

                    // edit the Birthday field of the current patient
                    bool isDate = false;
                    do
                    {
                        input = this.InputEditField(this.CurrentPatient.Birthday.ToShortDateString(), "Birthday  ");
                        if (this.CancelEditPatient(input.StringInput))
                        {
                            return(true);
                        }
                        if (input.StringInput.Length == 0)
                        {
                            break;
                        }
                        isDate = input.TestDate();
                        if (!isDate)
                        {
                            ConIO.OutputNewLine();
                            ConIO.OutputError("ERROR: Wrong date format");
                        }
                    } while (!isDate);
                    if (isDate)
                    {
                        this.CurrentPatient.Birthday = input.DateInput;
                    }

                    // confirm the edit patient from the user before update the patient
                    ConIO.OutputNewLine();
                    this.PrintMenuPage("patient-edit", "patient");
                    ConIO.OutputNewLine();
                    if (ConIO.Confirm("Edit the Patient?"))
                    {
                        if (!this.Fachkonzept.UpdatePatient(this.CurrentPatient))
                        {
                            ConIO.OutputError("ERROR: Can not update patient!");
                            this.CurrentPatient = this.Fachkonzept.GetPatient(this.CurrentPatient.PatientID);
                        }
                    }
                    else
                    {
                        this.CurrentPatient = this.Fachkonzept.GetPatient(this.CurrentPatient.PatientID);
                    }

                    this.GoTo("patient", "patient");
                    return(true);
                }
                break;

            case "illness-edit":
                switch (command.StringInput)
                {
                case "edit":
                    ConIO.OutputLine("Enter an empty text to not change the value!");
                    ConIO.OutputNewLine();
                    ConIO input = null;

                    // edit the Name field of the current illness
                    input = this.InputEditField(this.CurrentIllness.Name, "Illness name       ");
                    if (this.CancelEditIllness(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentIllness.Name = input.StringInput;
                    }

                    // edit the Contagious field of the current illness
                    do
                    {
                        input = this.InputEditField(this.CurrentIllness.Contagious.ToString(), "Is Contagious?(j/n)");
                    } while (!input.TestBool() && input.StringInput != "cancel" && input.StringInput.Length != 0);
                    if (this.CancelEditIllness(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentIllness.Contagious = input.BoolInput;
                    }

                    // edit the Lethal field of the current illness
                    do
                    {
                        input = this.InputEditField(this.CurrentIllness.Lethal.ToString(), "Is Lethal?(j/n)    ");
                    } while (!input.TestBool() && input.StringInput != "cancel" && input.StringInput.Length != 0);
                    if (this.CancelEditIllness(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentIllness.Lethal = input.BoolInput;
                    }

                    // edit the Curable field of the current illness
                    do
                    {
                        input = this.InputEditField(this.CurrentIllness.Curable.ToString(), "Is Curable?(j/n)   ");
                    } while (!input.TestBool() && input.StringInput != "cancel" && input.StringInput.Length != 0);
                    if (this.CancelEditIllness(input.StringInput))
                    {
                        return(true);
                    }
                    if (input.StringInput.Length != 0)
                    {
                        this.CurrentIllness.Curable = input.BoolInput;
                    }

                    // confirm the edit illness from the user before update the illness
                    ConIO.OutputNewLine();
                    this.PrintMenuPage("illness-edit", "illness");
                    ConIO.OutputNewLine();
                    if (ConIO.Confirm("Edit the Illness?"))
                    {
                        if (!this.Fachkonzept.UpdateIllness(this.CurrentIllness))
                        {
                            ConIO.OutputError("ERROR: Can not update Illness!");
                            this.CurrentIllness = this.Fachkonzept.GetIllness(this.CurrentIllness.IllnessID);
                        }
                    }
                    else
                    {
                        this.CurrentIllness = this.Fachkonzept.GetIllness(this.CurrentIllness.IllnessID);
                    }

                    this.GoTo("illness", "illness");
                    return(true);
                }
                break;

            case "patient-illness-add":
                switch (command.StringInput)
                {
                case "back":
                    this.GoTo("patient-illness", "patient-illnesslist");
                    return(true);

                default:
                    if (command.TestInt())
                    {
                        Illness illness = this.Fachkonzept.GetIllness(command.IntInput);
                        if (illness == null)
                        {
                            ConIO.OutputError("ERROR: Can not load Illness!");
                        }
                        else
                        {
                            // Confirm the link from illness to patient
                            if (ConIO.Confirm("Add Illness to patient?"))
                            {
                                if (!this.Fachkonzept.LinkPatientIllness(this.CurrentPatient, illness))
                                {
                                    ConIO.OutputError("ERROR: Can not link Illness to Patient!");
                                }
                            }
                            this.GoTo("patient-illness", "patient-illnesslist");
                        }
                        return(true);
                    }
                    break;
                }
                break;

            case "patient-illness-remove":
                switch (command.StringInput)
                {
                case "back":
                    this.GoTo("patient-illness", "patient-illnesslist");
                    return(true);

                default:
                    if (command.TestInt())
                    {
                        Illness illness = this.Fachkonzept.GetIllness(command.IntInput);
                        if (illness == null)
                        {
                            ConIO.OutputError("ERROR: Can not load Illness!");
                        }
                        else
                        {
                            // Confirm the delink of illness from patient
                            if (ConIO.Confirm("Remove Illness from Patient?"))
                            {
                                if (!this.Fachkonzept.DelinkPatientIllness(this.CurrentPatient, illness))
                                {
                                    ConIO.OutputError("ERROR: Can not delink Illness from Patient!");
                                }
                            }
                            this.GoTo("patient-illness", "patient-illnesslist");
                        }
                        return(true);
                    }
                    break;
                }
                break;

            case "illness-patient-add":
                switch (command.StringInput)
                {
                case "back":
                    this.GoTo("illness-patient", "illness-patientlist");
                    return(true);

                default:
                    if (command.TestInt())
                    {
                        Patient patient = this.Fachkonzept.GetPatient(command.IntInput);
                        if (patient == null)
                        {
                            ConIO.OutputError("ERROR: Can not load Patient!");
                        }
                        else
                        {
                            // Confirm the link from patient to illness
                            if (ConIO.Confirm("Add Patient to Illness?"))
                            {
                                if (!this.Fachkonzept.LinkPatientIllness(patient, this.CurrentIllness))
                                {
                                    ConIO.OutputError("ERROR: Can not link Patient to Illness!");
                                }
                            }
                            this.GoTo("illness-patient", "illness-patientlist");
                        }
                        return(true);
                    }
                    break;
                }
                break;

            case "illness-patient-remove":
                switch (command.StringInput)
                {
                case "back":
                    this.GoTo("illness-patient", "illness-patientlist");
                    return(true);

                default:
                    if (command.TestInt())
                    {
                        Patient patient = this.Fachkonzept.GetPatient(command.IntInput);
                        if (patient == null)
                        {
                            ConIO.OutputError("ERROR: Can not load Patient!");
                        }
                        else
                        {
                            // Confirm the delink of Patient from Illness
                            if (ConIO.Confirm("Remove Patient from Illness?"))
                            {
                                if (!this.Fachkonzept.DelinkPatientIllness(patient, this.CurrentIllness))
                                {
                                    ConIO.OutputError("ERROR: Can not delink Patient from Illness!");
                                }
                            }
                            this.GoTo("illness-patient", "illness-patientlist");
                        }
                        return(true);
                    }
                    break;
                }
                break;
            }
            return(false);
        }
Ejemplo n.º 10
0
 /*
  * Describe a Illness Short
  */
 public string DescribeIllness(Illness illness)
 {
     return(illness.Name);
 }