示例#1
0
        public static void lireLesEtapes()
        {
            Globale.lesEtapes.Clear();

            //objet SQLCommand pour définir la procédure stockée à utiliser
            SqlCommand maRequete = new SqlCommand("prc_listeEtapes", Globale.cnx);

            maRequete.CommandType = System.Data.CommandType.StoredProcedure;

            // exécuter la procedure stockée dans un curseur
            SqlDataReader SqlExec = maRequete.ExecuteReader();

            //boucle de lecture des clients avec ajout dans la collection
            while (SqlExec.Read())
            {
                int      etapeNum     = int.Parse(SqlExec["ETP_NUM"].ToString());
                string   libelleEtape = SqlExec["ETP_LIBELLE"].ToString();
                string   etpnorme     = "";
                DateTime dateNorme    = new DateTime();
                if (SqlExec["ETP_NORME"].ToString() != "")
                {
                    etpnorme  = (SqlExec["ETP_NORME"].ToString());
                    dateNorme = DateTime.Parse(SqlExec["ETP_DATE_NORME"].ToString());
                }
                if (SqlExec["ETP_NORME"].ToString() != "")
                {
                    Etape uneEtape = new EtapeNormee(etapeNum, libelleEtape, etpnorme, dateNorme);
                    Globale.lesEtapes.Add(uneEtape as EtapeNormee);
                }
                else
                {
                    Etape uneEtape = new Etape(etapeNum, libelleEtape);
                    Globale.lesEtapes.Add(uneEtape);
                }
            }
        }
        private void lvMedicamentsAutorisees_Click(object sender, EventArgs e)
        {
            int idxEtape = 0;

            tbDernierLibelle.Text = ""; tbDerniereNorme.Text = ""; tbNumDerniereEtape.Text = "";
            lblAMM.Visible        = false;  tbAMM.Visible = false;

            int        derniereetape = 0;
            int        resultat      = 0;
            int        numligne      = lvMedicamentsAutorisees.SelectedIndices[0];
            string     depotlegal    = lvMedicamentsAutorisees.Items[numligne].Text;
            int        nouvelleEtape = 0;
            Medicament unMedicament  = Globale.lesMedicaments[depotlegal];

            if (Globale.lesMedicaments[depotlegal].getlesEtapes().Count == 0)
            {
                nouvelleEtape = 1;
            }
            else
            {
                idxEtape      = unMedicament.getlesEtapes().Count - 1;
                derniereetape = unMedicament.getlesEtapes().Count;

                if (derniereetape == 8)
                {
                    MessageBox.Show("toutes les étapes de validation ont déjà été réalisées pour ce Médicament.");
                }
                else
                {
                    resultat = Globale.lesMedicaments[depotlegal].
                               getlesEtapes().ElementAt(idxEtape).getIdDecision();

                    if (resultat == 2)
                    {
                        MessageBox.Show("Dernière étape non validée, il n'est plus possible de saisir d'étapes pour ce médicament");
                    }
                    else
                    {
                        nouvelleEtape = derniereetape + 1;
                    }
                }
            }

            if (nouvelleEtape != 1)
            {
                //dernière Etape Validée

                tbNumDerniereEtape.Text = Convert.ToString(derniereetape);
                tbDernierLibelle.Text   = Globale.lesEtapes.ElementAt(derniereetape - 1).getLibelle();

                DateTime dateDerniere = unMedicament.getlesEtapes().ElementAt(idxEtape).getDateDecision();
                dtpDate.Value = dateDerniere;

                Etape unetape = Globale.lesEtapes.ElementAt(idxEtape);
                if (unetape.GetType().ToString() == "gesAMM.EtapeNormee") //debug projet //si l'étape est normée
                {
                    DateTime dateDerniereNorme = (unetape as EtapeNormee).getDateEtapeNormee();

                    tbDerniereNorme.Text       = (unetape as EtapeNormee).getEtapeNormee();
                    dtpDerniereDateNorme.Value = dateDerniereNorme;
                }
            }

            if (nouvelleEtape != 0)
            {
                //-- Nouvelle étape
                tbNumEtape.Text = Convert.ToString(nouvelleEtape);
                tbLibelle.Text  = Globale.lesEtapes.ElementAt(nouvelleEtape - 1).getLibelle();

                Etape uneNouvelleetape = Globale.lesEtapes.ElementAt(nouvelleEtape - 1);
                if (uneNouvelleetape.GetType().ToString() == "gesAMM.EtapeNormee") //debug projet //si l'étape est normée
                {
                    DateTime dateDerniereNorme = (uneNouvelleetape as EtapeNormee).getDateEtapeNormee();

                    tbNorme.Text   = (uneNouvelleetape as EtapeNormee).getEtapeNormee();
                    dtpNorme.Value = dateDerniereNorme;
                }
            }
        }