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