Example #1
0
        public AllDoctorsWindow()
        {
            InitializeComponent();
            ListOfDoctors allDocs = FileOperations.ReadXML();

            foreach (var doctor in allDocs.doctors)
            {
                allDoctorsRichText.AppendText(doctor.ToString() + "\r");
            }
        }
Example #2
0
        private void EditDoctorDetails_Click(object sender, RoutedEventArgs e)
        {
            string errors = "";

            errorRichText.Document.Blocks.Clear();
            ListOfDoctors docs = FileOperations.ReadXML();

            if (idTextBox.Text.Length <= 0)
            {
                errors += " Introdu un ID \r";
                errorRichText.AppendText(errors);

                return;
            }
            if (Int32.Parse(idTextBox.Text) > docs.doctors.Count - 1)
            {
                errors += " Id-ul este mai mare decat numarul de doctori din aplicatie \r";
            }
            if (nameTextBox.Text.Length < 4 || forNameTextBox.Text.Length < 4)
            {
                errors += "Numele si prenumele trebuie sa fie mai lungi de 3 caractere \r";
            }

            if (errors.Equals(""))
            {
                Doctor doc = null;
                for (int i = 0; i < docs.doctors.Count; i++)
                {
                    if (docs.doctors[i].Id == Int32.Parse(idTextBox.Text))
                    {
                        docs.doctors[i].Name    = nameTextBox.Text;
                        docs.doctors[i].ForName = forNameTextBox.Text;
                        doc = docs.doctors[i];
                        FileOperations.WriteXML(docs);
                        break;
                    }
                }
                foreach (Window window in System.Windows.Application.Current.Windows)
                {
                    if (window.GetType() == typeof(MainWindow))
                    {
                        if (doc != null)
                        {
                            (window as MainWindow).doctorLog.AppendText("Doctorul cu ID: " + doc.Id + "  i-a fost schimbat numele in: " + nameTextBox.Text + " " + forNameTextBox.Text + " \r");
                        }
                        this.Close();
                    }
                }
            }


            errorRichText.AppendText(errors);
        }
Example #3
0
        private void DeleteDoctor(object sender, RoutedEventArgs e)
        {
            errorTextBox.Document.Blocks.Clear();
            string error = "";

            if (idTextBox.Text.Length == 0)
            {
                error = "Introdu un ID";
                errorTextBox.AppendText(error);
                return;
            }
            if (Int32.Parse(idTextBox.Text) < 0)
            {
                error += "Id-ul trebuie sa fie un numar pozitiv";
                errorTextBox.AppendText(error);
                return;
            }
            ListOfDoctors docs = FileOperations.ReadXML();

            if (Int32.Parse(idTextBox.Text) > docs.doctors.Count - 1)
            {
                error += "Id-ul e mai mare decat numarul de doctori din aplicatie";
                errorTextBox.AppendText(error);
                return;
            }
            Doctor doc = null;

            for (int i = 0; i < docs.doctors.Count; i++)
            {
                if (docs.doctors[i].Id == Int32.Parse(idTextBox.Text))
                {
                    doc = docs.doctors[i];
                    docs.doctors.Remove(docs.doctors[i]);
                    break;
                }
            }
            if (doc != null)
            {
                foreach (Window window in System.Windows.Application.Current.Windows)
                {
                    if (window.GetType() == typeof(MainWindow))
                    {
                        (window as MainWindow).doctorLog.AppendText("Doctorul " + doc.Name + " " + doc.ForName + " a fost sters din sistem " + "\r");
                        this.Close();
                    }
                }
            }

            FileOperations.WriteXML(docs);

            this.Close();
        }
Example #4
0
        public Doctor HireDoctor(string name, string forName, string cnp, DateTime hireDate, string universityGraduated, int residencyDuration, float residencyGrade, string doctorType)
        {
            int           id      = 1;                        //useless
            Doctor        doc1    = null;                     //ca sa nu folosesc mai multe variabile
            ListOfDoctors allDocs = FileOperations.ReadXML(); //citesc fisierul sa vad daca mai sunt doctori pentru a-l putea baga pe acesta in continuarea listei

            if (CanHireDoctor(cnp, hireDate, residencyGrade))
            {
                switch (doctorType)//in functie de tip filtram ce tip de doctor creem.
                {
                case "Orthopedic":
                    doc1 = new OrthopedicDoctor(id, name, forName, cnp, hireDate, universityGraduated, residencyDuration, residencyGrade);
                    allDocs.doctors.Add(doc1);        //adaugam in lista de doctori
                    allDocs.GetNewIds();              //generam Id-uri noi
                    FileOperations.WriteXML(allDocs); //scrie noul fisier cu ultimul doctor bagat
                    Doctors.Add(doc1);
                    return(doc1);

                case "Internal":
                    doc1 = new InternalMedicineDoctor(id, name, forName, cnp, hireDate, universityGraduated, residencyDuration, residencyGrade);
                    allDocs.doctors.Add(doc1);
                    allDocs.GetNewIds();
                    FileOperations.WriteXML(allDocs);
                    Doctors.Add(doc1);
                    return(doc1);

                case "Cardiologist":
                    doc1 = new CardiologistDoctor(id, name, forName, cnp, hireDate, universityGraduated, residencyDuration, residencyGrade);
                    allDocs.doctors.Add(doc1);
                    allDocs.GetNewIds();
                    FileOperations.WriteXML(allDocs);
                    Doctors.Add(doc1);
                    return(doc1);

                default:
                    break;
                }
            }
            return(null);
        }