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 void btnMandaInSala_Click(object sender, RoutedEventArgs e) { Paziente pz = (Paziente)lstPazienti.SelectedItem; Sala rtrn = ps.AggiungiPazienteSala(pz); if (pz == null) { MessageBox.Show("È necessario scegliere un paziente dalla lista", "Errore", MessageBoxButton.OK, MessageBoxImage.Warning); } else { if (rtrn == null) { MessageBox.Show("Sala inesistente", "Errore", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (rtrn == ps.Sala1) { lstSalaUno.Items.Add(pz); MessageBox.Show("PAZIENTE AGGIUNTO IN SALA 1", "Inserimento in sala", MessageBoxButton.OK, MessageBoxImage.Information); } else if (rtrn == ps.Sala2) { lstSalaDue.Items.Add(pz); MessageBox.Show("PAZIENTE AGGIUNTO IN SALA 2", "Inserimento in sala", MessageBoxButton.OK, MessageBoxImage.Information); } else if (rtrn == ps.Sala3) { MessageBox.Show("PAZIENTE AGGIUNTO IN SALA 3", "Inserimento in sala", MessageBoxButton.OK, MessageBoxImage.Information); lstSalaTre.Items.Add(pz); } } }
public void btnCancellaPaziente_Click(object sender, RoutedEventArgs e) { Paziente p = (Paziente)lstPazienti.SelectedItem; ps.Pazienti.Remove(p); lstPazienti.Items.Refresh(); SalvaPazienti(ps.Pazienti); MessageBox.Show("Eliminazione avvenuta correttamente", "Eliminazione", MessageBoxButton.OK, MessageBoxImage.Information); }
public void btnProxPaziente_Click(object sender, RoutedEventArgs e) { //0. Selezionare medico disponibile //1. Ricerca del paziente più grave in assoluto all'interno delle tre sale metodo ProxPaziente di Sala //2. Se vi è un paziente da gestire, rimuoverlo dalla sala ed aggiungerlo in lista pazienti medico //4. MessageBox con riepilogo dati paziente e medico interessati Sala s = null; Medico prox_medico = (Medico)lstMedici.SelectedItem; Paziente nxt_pz = ps.ProssimoPaziente(prox_medico, out s); if (prox_medico == null) { MessageBox.Show("Prima di procedere con la chiamata, è necessario selezionare un medico.", "Impossibile proseguire", MessageBoxButton.OK, MessageBoxImage.Warning); } else { //Aggiungere controllo if (nxt_pz == null) {} else {} //MessageBox.Show("NESSUN PAZIENTE IN LISTA", "TriageManager", MessageBoxButton.OK, MessageBoxImage.Information); if (s.Numero == 1) { lstSalaUno.Items.Refresh(); } else if (s.Numero == 2) { lstSalaDue.Items.Refresh(); } else if (s.Numero == 3) { lstSalaTre.Items.Refresh(); } else { txtNextPaziente.Text = " "; } txtDottPerProxPaziente.Clear(); txtNextPaziente.Text = (nxt_pz.Nome + " " + nxt_pz.Cognome); // string str_nxt_dot = ("Dott. " + prox_medico.Nome + " " + prox_medico.Cognome); txtDottPerProxPaziente.Text = "Dott. " + prox_medico.Nome + " " + prox_medico.Cognome; Console.Beep(400, 150); Console.Beep(300, 150); Console.Beep(200, 150); syntVoice.SpeakAsync("Prossimo paziente: " + txtNextPaziente.Text); syntVoice.SpeakAsync("Medico incaricato: " + txtDottPerProxPaziente.Text); if (lstPazienti.Items.Equals(txtNextPaziente)) { lstPazienti.Items.Clear(); } } }
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); }
public Sala AggiungiPazienteSala(Paziente p) { if (Sala1.CodicePriorita.Contains(p.Codice)) { Sala1.PazientiInAttesa.Add(p); return(Sala1); } else if (Sala2.CodicePriorita.Contains(p.Codice)) { Sala2.PazientiInAttesa.Add(p); return(Sala2); } else if (Sala3.CodicePriorita.Contains(p.Codice)) { Sala3.PazientiInAttesa.Add(p); return(Sala3); } else { return(null); } }
public Paziente ProssimoPaziente(Medico m, out Sala s) { Paziente p = null; p = Sala3.ProxPaziente(); if (p != null) { m.Pazienti.Add(p); Sala3.PazientiInAttesa.Remove(p); s = Sala3; return(p); } p = Sala2.ProxPaziente(); if (p != null) { m.Pazienti.Add(p); Sala2.PazientiInAttesa.Remove(p); s = Sala2; return(p); } p = Sala1.ProxPaziente(); if (p != null) { m.Pazienti.Add(p); Sala1.PazientiInAttesa.Remove(p); s = Sala1; return(p); } s = null; return(null); }
public void InserisciPaziente(Paziente p) { Pazienti.Add(p); }