public async Task <IActionResult> MembresCote(SendCotesReportViewModel sendCotesReportViewModel) { if (ModelState.IsValid) { // Créer et envoyer rapport PDF: RapportsClass rapportsClass = new RapportsClass(_context, this.ControllerContext, he); // Chercher l'admin courriel var userManager = _serviceProvider.GetRequiredService <UserManager <ApplicationUser> >(); var userName = await userManager.FindByNameAsync(User.Identity.Name); // envoyer rapport rapportsClass.rapport4(userName.Email, sendCotesReportViewModel); return(RedirectToAction(nameof(MembresCote))); } ViewBag.Months = new SelectList(Enumerable.Range(1, 12).Select(x => new SelectListItem() { Text = CultureInfo.CurrentCulture.DateTimeFormat.AbbreviatedMonthNames[x - 1] + " (" + x + ")", Value = x.ToString() }), "Value", "Text"); ViewBag.Years = new SelectList(Enumerable.Range(DateTime.Today.Year - 5, 6).Select(x => new SelectListItem() { Text = x.ToString(), Value = x.ToString() }), "Value", "Text"); return(View(sendCotesReportViewModel)); }
public void rapport4(string emailAdmin, SendCotesReportViewModel sendCotesReportViewModel) { // Liste des membres avec leurs cotes selon la requête du client (Annee/mois Debut Et Anne/mois Fin) String q1 = "SELECT * FROM Objets WHERE Status={0}"; // AND DateLimite >= {1} AND DateLimite < {2} var objets = from o in _context.Objets. Include(o => o.Categorie). Include(o => o.Vendeur). Include(o => o.Acheteur). Include(o => o.VenteEvaluation). Include(o => o.AchatEvaluation). FromSql(q1, 1) select o; // Trouver les objets qui ont des évaluations objets = objets.Where(p => p.DateLimite.Year >= sendCotesReportViewModel.SelectedYearStart && p.DateLimite.Month >= sendCotesReportViewModel.SelectedMonthStart && p.DateLimite.Year <= sendCotesReportViewModel.SelectedYearEnd && p.DateLimite.Month <= sendCotesReportViewModel.SelectedMonthEnd); List <Objet> lstObjets = objets.ToList(); // Création du PDF string path = CreerPdf(lstObjets, "../Rapports/Rapport4", "4-COTES-" + sendCotesReportViewModel.SelectedYearStart + sendCotesReportViewModel.SelectedMonthStart + "-" + sendCotesReportViewModel.SelectedYearEnd + sendCotesReportViewModel.SelectedMonthEnd); // Titre du courriel string sujet = "VentesEnchères - " + @StringsRapports.RapportCotesDescription + " " + sendCotesReportViewModel.SelectedMonthStart + "/" + sendCotesReportViewModel.SelectedYearStart + " - " + sendCotesReportViewModel.SelectedMonthEnd + "/" + sendCotesReportViewModel.SelectedYearEnd + "."; // Contenu du courriel string content = @StringsRapports.RapportAnnuelDescription + " " + sendCotesReportViewModel.SelectedMonthStart + "/" + sendCotesReportViewModel.SelectedYearStart + " - " + sendCotesReportViewModel.SelectedMonthEnd + "/" + sendCotesReportViewModel.SelectedYearEnd + "."; sendRapport(emailAdmin, path, sujet, content); ///////////////////////////////// }