コード例 #1
0
        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;
        }
コード例 #2
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);
        }