public AllDoctorsWindow() { InitializeComponent(); ListOfDoctors allDocs = FileOperations.ReadXML(); foreach (var doctor in allDocs.doctors) { allDoctorsRichText.AppendText(doctor.ToString() + "\r"); } }
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); }
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(); }
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); }