public async Task <IActionResult> AppliquerAsync(Guid id, EtudiantsMilieuStage etudiantsMilieuStage)
        {
            etudiantsMilieuStage.MilieuStageId   = id;
            etudiantsMilieuStage.DataCanditature = DateTime.Now;
            etudiantsMilieuStage.Actif           = true;
            string responsableCourriel = _context.MilieuStage.Find(id).CourrielResponsable;
            string responsableNom      = _context.MilieuStage.Find(id).NomResponsable;


            // trouver le id du utilisateur en cours
            var claimsIdentity = (ClaimsIdentity)this.User.Identity;
            var claim          = claimsIdentity.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier);
            var userId         = claim.Value;



            etudiantsMilieuStage.Id = userId;

            _context.EtudiantsMilieuStage.Add(etudiantsMilieuStage);
            _context.SaveChanges();

            Exception erreur = await _EmailService.Send(new EmailMessage { Content = "Allo " + responsableNom + ",<br/><br/> Un étudiant a postulé pour participer a votre stage! ", FromAddresses = { new EmailAddress {
                                                                                                                                                                                                           Address = "*****@*****.**", Name = "Gestion de Stages"
                                                                                                                                                                                                       } }, ToAddresses = { new EmailAddress {
                                                                                                                                                                                                                                Address = responsableCourriel, Name = responsableNom
                                                                                                                                                                                                                            } }, Subject = "Un étudiant c'est inscrit a votre stage" });

            return(RedirectToAction(nameof(Index)));
        }
        public async Task <IActionResult> Edit(int id, [Bind("MilieuStageEtudiantId,Id,MilieuStageId,DataCanditature,Actif")] EtudiantsMilieuStage etudiantsMilieuStage)
        {
            if (id != etudiantsMilieuStage.MilieuStageEtudiantId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(etudiantsMilieuStage);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EtudiantsMilieuStageExists(etudiantsMilieuStage.MilieuStageEtudiantId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Id"]            = new SelectList(_context.Users, "Id", "Id", etudiantsMilieuStage.Id);
            ViewData["MilieuStageId"] = new SelectList(_context.MilieuStage, "MilieuStageId", "MilieuStageId", etudiantsMilieuStage.MilieuStageId);
            return(View(etudiantsMilieuStage));
        }
        public async Task <IActionResult> Create([Bind("MilieuStageEtudiantId,Id,MilieuStageId,DataCanditature,Actif")] EtudiantsMilieuStage etudiantsMilieuStage)
        {
            if (ModelState.IsValid)
            {
                _context.Add(etudiantsMilieuStage);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["Id"]            = new SelectList(_context.Users, "Id", "Id", etudiantsMilieuStage.Id);
            ViewData["MilieuStageId"] = new SelectList(_context.MilieuStage, "MilieuStageId", "MilieuStageId", etudiantsMilieuStage.MilieuStageId);
            return(View(etudiantsMilieuStage));
        }