public ActionResult Create(NouvelleCommunication modeleCommunication, HttpPostedFileBase[] files) { if (ModelState.IsValid) { // TODO: Lié l'utilisateur connecté à la communication modeleCommunication.communication.idUTIL = 1; modeleCommunication.communication.dateCOM = DateTime.Now; db.Communications.Add(modeleCommunication.communication); db.SaveChanges(); Communication communication = modeleCommunication.communication; List <String> pathFichiers = EnregistrerPiecesJointes(files, communication); // Envoie du courriel foreach (String courriel in GenererListeCourriels(modeleCommunication)) { //EnvoyerCourriel(courriel, communication.titreCOM, communication.contenuCOM, pathFichiers); } return(RedirectToAction("Details")); } ViewBag.secteurs = db.Secteurs.Where(s => s.idCLUB == idClub).ToList(); ViewBag.niveaux = db.NiveauSessions.Where(n => n.Niveau.Secteur.idCLUB == idClub && n.Session.estActif == true).ToList(); ViewBag.groupes = db.Groupes.Where(g => g.NiveauSession.Niveau.Secteur.idCLUB == idClub && g.NiveauSession.Session.estActif == true).ToList(); return(View(modeleCommunication)); }
protected List <String> GenererListeCourriels(NouvelleCommunication modeleCommunication) { List <String> courriels = new List <String>(); // courriel par les secteurs List <int> idSecteurs = new List <int>(); if (modeleCommunication.SelectedSecteurId != null) { idSecteurs = modeleCommunication.SelectedSecteurId.ToList(); } foreach (int idSecteur in idSecteurs) { foreach (var membre in db.P_SELECT_MembreSessionActiveParSecteur(idSecteur)) { String courriel = membre.courriel; if (!courriels.Contains(courriel)) { courriels.Add(courriel); } } } // courriels par niveauSession List <int> idNiveaux = new List <int>(); if (modeleCommunication.SelectedNiveauId != null) { idNiveaux = modeleCommunication.SelectedNiveauId.ToList(); } foreach (int idNiveau in idNiveaux) { foreach (var membre in db.P_SELECT_MembreSessionActiveParNiveauSession(idNiveau)) { String courriel = membre.courriel; if (!courriels.Contains(courriel)) { courriels.Add(courriel); } } } // courriels par groupe List <int> idGroupes = new List <int>(); if (modeleCommunication.SelectedGroupId != null) { idGroupes = modeleCommunication.SelectedGroupId.ToList(); } foreach (int idGroupe in idGroupes) { Groupe groupe = db.Groupes.Find(idGroupe); foreach (var membre in groupe.Membres) { String courriel = membre.courriel; if (!courriels.Contains(courriel)) { courriels.Add(courriel); } } } return(courriels); }