public void BtnInserisciPaziente_Click(object sender, RoutedEventArgs e) { string NomePaziente = (txtNomePaziente.Text).ToUpper(); string CognomePaziente = (txtCognomePaziente.Text).ToUpper(); DateTime DataNascitaPaziente = (dpDataPaziente.DisplayDate); Paziente.ModoAccesso accesso = (Paziente.ModoAccesso)Enum.Parse(typeof(Paziente.ModoAccesso), boxAccesso.SelectedItem.ToString()); Paziente.CodiceAccesso codice = (Paziente.CodiceAccesso)Enum.Parse(typeof(Paziente.CodiceAccesso), ((ComboBoxItem)(boxColore.SelectedItem)).Content.ToString()); if (NomePaziente == String.Empty || NomePaziente == String.Empty || DataNascitaPaziente == null) { MessageBox.Show("Compilare tutti i campi richiesti!", "Dati incompleti", MessageBoxButton.OK, MessageBoxImage.Warning); } else { Paziente p = new Paziente(NomePaziente, CognomePaziente, DataNascitaPaziente, accesso, codice); ps.InserisciPaziente(p); lstPazienti.Items.Refresh(); MessageBox.Show($"Paziente {NomePaziente} {CognomePaziente} nato il {DataNascitaPaziente} inserito correttamente", "Paziente inserito", MessageBoxButton.OK, MessageBoxImage.Information); SalvaPazienti(ps.Pazienti); } txtNomePaziente.Text = "Nome"; txtCognomePaziente.Text = "Cognome"; boxAccesso.SelectedIndex = 0; boxColore.SelectedIndex = 0; }
public Paziente ProxPaziente() { //0. Trovare il codice di accesso più grave List <Paziente> pGravi = new List <Paziente>(); Paziente.CodiceAccesso max = 0; foreach (Paziente.CodiceAccesso cod in CodicePriorita) { foreach (Paziente p in PazientiInAttesa) { if (p.Codice == max) { pGravi.Add(p); } if (cod > max) { max = cod; } } } //1. Cerco i pazienti con maggior priorità (CodiceAccesso) //2. Tra pazienti individuati al pt. 1 scelgo quelli con DataIngresso minore DateTime min = DateTime.Now; Paziente pArr = null; //indica il paziente arrivato prima if (pGravi != null) { foreach (Paziente p in pGravi) //analisi elementi lista pazienti gravi { if (p.DataAccesso < min) { min = p.DataAccesso; pArr = p; //viene selezionato il paziente arrivato prima } } } return(pArr); }