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; } } }