private void actionToExcecuteOnClick() { int annee = notificationBL.anneeEnCours(); List <EleveBE> eleves = new List <EleveBE>(); nb = 0; nbreussi = 0; echecs = new List <Adresse>(); Dictionary <string, string> mappage = new Dictionary <string, string>(); Dictionary <string, string> mappageNumero = new Dictionary <string, string>(); switch (action) { case CONVOCATION_PARENT: EleveBE eleve = new EleveBE(); eleve.matricule = convocationParent.matricule; eleve = notificationBL.rechercherEleve(eleve); nb = 1; nbreussi = 0; string[] adresse = new string[2] { eleve.matricule, eleve.telParent }; Dictionary <string, int> result = new Dictionary <string, int>(); if (Tools.format_number(eleve.telParent) == "") { echecs.Add(new Adresse(eleve.telParent, eleve.nom)); } else { nbreussi++; result = notificationBL.envoiSMS(adresse, convocationParent.message); } break; case CONVOCATION_PERSONNEL: EnseignantBE prof = new EnseignantBE(); prof.codeProf = convocationPersonnel.matricule; prof = notificationBL.rechercherEnseignant(prof); nb = 1; nbreussi = 0; adresse = new string[2] { prof.codeProf, prof.tel }; result = new Dictionary <string, int>(); if (Tools.format_number(prof.tel) == "") { echecs.Add(new Adresse(prof.tel, prof.nomProf)); } else { nbreussi++; result = notificationBL.envoiSMS(adresse, convocationPersonnel.message); } break; case ENVOI_RESULTAT: List <string> sequences = notificationBL.listerValeurColonneSequence("codeseq"); List <string> trimestres = notificationBL.listerValeurColonneTrimestre("codetrimestre"); List <string[]> destinataireSMS = new List <string[]>(); mappage = new Dictionary <string, string>(); mappageNumero = new Dictionary <string, string>(); if (envoiResultat.classe == EnvoyerResultatUC.TOUTE) { eleves = notificationBL.listeEleveDuneAnnee(annee); } else { eleves = notificationBL.listeEleveDuneClasse(envoiResultat.classe, annee); } string message = ""; if (eleves != null) { nb = eleves.Count; nbreussi = 0; if (sequences.Contains(envoiResultat.periode)) { ResultatBE resultat; foreach (EleveBE e in eleves) { resultat = new ResultatBE(); resultat = notificationBL.resultatSequentielleEleve(e.matricule, annee, envoiResultat.periode); if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; message = "L'élève " + e.nom + " a obtenu la note de " + resultat.moyenne + " pour le compte de la Séquence " + envoiResultat.periode + " Rang " + resultat.rang + " Moyenne générale " + resultat.moyenneclasse; destinataireSMS.Add(new string[3] { e.matricule, e.telParent, message }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } if (trimestres.Contains(envoiResultat.periode)) { ResultatTrimestrielBE resultat; foreach (EleveBE e in eleves) { resultat = new ResultatTrimestrielBE(); resultat = notificationBL.resultatTrimestrielEleve(e.matricule, annee, envoiResultat.periode); if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; message = "L'élève " + e.nom + " a obtenu la note de " + resultat.moyenne + " pour le compte du Trimestre " + envoiResultat.periode + " Rang " + resultat.rang + " Moyenne générale " + resultat.moyenneclasse; destinataireSMS.Add(new string[3] { e.matricule, e.telParent, message }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } if (EnvoyerResultatUC.ANNUEL == envoiResultat.periode) { ResultatAnnuelBE resultat; foreach (EleveBE e in eleves) { resultat = new ResultatAnnuelBE(); resultat = notificationBL.resultatAnnuelDunEleve(e.matricule, annee); if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; message = "L'élève " + e.nom + " a obtenu la note annuelle de " + resultat.moyenne + " pour le compte de l'année académique : " + (annee - 1) + "/" + annee + " Rang " + resultat.rang + " Moyenne générale " + resultat.moyenneclasse; destinataireSMS.Add(new string[3] { e.matricule, e.telParent, message }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } result = new Dictionary <string, int>(); result = notificationBL.envoiSMS(destinataireSMS); //if (result != null) //{ // foreach (KeyValuePair<string, string> element in mappage) // { // if (result[element.Key] != 0) // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } // nbreussi = nb - echecs.Count; //} //else //{ // foreach (KeyValuePair<string, string> element in mappage) // { // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } //} break; case REUNION: destinataireSMS = new List <string[]>(); mappage = new Dictionary <string, string>(); mappageNumero = new Dictionary <string, string>(); nbreussi = 0; nb = 0; if (ReunionUC.ENSEIGNANT == reunion.concerne) { List <EnseignantBE> liste = new List <EnseignantBE>(); liste = notificationBL.listerToutEnseignants(); if (liste != null) { nb = liste.Count; foreach (EnseignantBE e in liste) { if (Tools.format_number(e.tel) == "") { echecs.Add(new Adresse(e.tel, e.nomProf)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.codeProf, e.tel }); mappage.Add(e.codeProf, e.nomProf); mappageNumero.Add(e.codeProf, e.tel); } } } } else if (ReunionUC.PARENT == reunion.concerne) { List <EleveBE> list = new List <EleveBE>(); list = notificationBL.listeEleveDuneAnnee(annee); if (list != null) { nb = list.Count; foreach (EleveBE e in list) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } else if (ReunionUC.MIXTE == reunion.concerne) { List <EnseignantBE> liste = new List <EnseignantBE>(); liste = notificationBL.listerToutEnseignants(); if (liste != null) { nb = liste.Count; foreach (EnseignantBE e in liste) { if (Tools.format_number(e.tel) == "") { echecs.Add(new Adresse(e.tel, e.nomProf)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.codeProf, e.tel }); mappage.Add(e.codeProf, e.nomProf); mappageNumero.Add(e.codeProf, e.tel); } } } List <EleveBE> list = new List <EleveBE>(); list = notificationBL.listeEleveDuneAnnee(annee); if (list != null) { nb += list.Count; foreach (EleveBE e in list) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } message = reunion.message; result = new Dictionary <string, int>(); result = notificationBL.envoiSMS(destinataireSMS, message); //if (result != null) //{ // foreach (KeyValuePair<string, string> element in mappage) // { // if (result[element.Key] != 0) // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } // nbreussi = nb - echecs.Count; //} //else // foreach (KeyValuePair<string, string> element in mappage) // { // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } break; case REUNION_ELEVE: destinataireSMS = new List <string[]>(); eleves = new List <EleveBE>(); mappage = new Dictionary <string, string>(); mappageNumero = new Dictionary <string, string>(); nbreussi = 0; if (ReunionEleveUC.SERIE == reunionEleve.concerne) { eleves = notificationBL.listeEleveDuneSerie(reunionEleve.code, annee); if (eleves != null) { foreach (EleveBE e in eleves) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } else if (ReunionEleveUC.CYCLE == reunionEleve.concerne) { eleves = notificationBL.listeEleveDunCycle(reunionEleve.code, annee); if (eleves != null) { foreach (EleveBE e in eleves) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } else if (ReunionEleveUC.NIVEAU == reunionEleve.concerne) { eleves = notificationBL.listeEleveDunNiveau(reunionEleve.code, annee); if (eleves != null) { foreach (EleveBE e in eleves) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } else if (ReunionEleveUC.CLASSE == reunionEleve.concerne) { eleves = notificationBL.listeEleveDuneClasse(reunionEleve.code, annee); if (eleves != null) { foreach (EleveBE e in eleves) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } else if (ReunionEleveUC.MIXTE == reunionEleve.concerne) { eleves = notificationBL.listeEleveDuneAnnee(annee); if (eleves != null) { foreach (EleveBE e in eleves) { if (Tools.format_number(e.telParent) == "") { echecs.Add(new Adresse(e.telParent, e.nom)); } else { nbreussi++; destinataireSMS.Add(new string[2] { e.matricule, e.telParent }); mappage.Add(e.matricule, e.nom); mappageNumero.Add(e.matricule, e.telParent); } } } } nb = eleves.Count; result = new Dictionary <string, int>(); result = notificationBL.envoiSMS(destinataireSMS, reunionEleve.message); //if (result != null) //{ // foreach (KeyValuePair<string, string> element in mappage) // { // if (result[element.Key] != 0) // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } // nbreussi = nb - echecs.Count; //} //else // foreach (KeyValuePair<string, string> element in mappage) // { // echecs.Add(new Adresse(mappageNumero[element.Key], element.Value)); // } break; default: break; } }