示例#1
0
        public async Task <IActionResult> Edit(string userId)
        {
            if (userId == null) // vérifie qu un id est bien passé en param
            {
                return(NotFound());
            }
            //cherche le user dans la base
            var utilisateur = await _utilisateurManager.GetUtilisateurByIdAsync(userId);

            if (utilisateur == null) //si on en trouve pas
            {
                return(NotFound());
            }
            //////////////////////////////////////////////////////////////////////////////////////////
            //      GESTION de la photo
            //////////////////////////////////////////////////////////////////////////////////////////
            if (utilisateur.UrlAvatarImage != null)
            {
                string img = utilisateur.UrlAvatarImage.ToString();
                ViewBag.ImgPath = img;
            }
            else
            {
                ViewBag.ImgPath = "/images/userDefault.png";
            }
            ///////////////////////////////////////////////////////////////////////
            //  FIN gestion image
            ///////////////////////////////////////////////////////////////////////
            ViewData["ApplicationUserID"] = utilisateur.ApplicationUserID;
            //pour la drop down list des roles
            var listeRoles = _context.Roles.ToList();
            //trouve l id du role
            var role   = _context.Roles.Where(r => r.Name == utilisateur.Role).FirstOrDefault();
            var roleId = role.Id;

            ViewBag.listeRoles = new SelectList(listeRoles, "Id", "Name", roleId); //pour le DDL des roles

            return(View(utilisateur));
        }
示例#2
0
        //GET Utilisateur/Inscription/userId
        public async Task <IActionResult> Inscription(string userId)
        {
            //je recupere la vraie identité de l user
            var ApplicationUser = _userManager.GetUserId(HttpContext.User);

            if (userId != ApplicationUser)
            {
                userId = ApplicationUser;
            }
            if (userId == null)
            {
                return(NotFound());
            }
            //gestion du fait que l utilisateur peut deja exister => renvoi sur la vue details
            Utilisateur lutilisateur = await _utilisateurManager.GetUtilisateurByIdAsync(userId);

            if (lutilisateur != null)
            {
                return(RedirectToAction("MonCompte", new RouteValueDictionary(new
                {
                    controller = "Utilisateur",
                    action = "MonCompte",
                    Id = userId
                })));
            }
            // SINON
            //Ajoute un utilisateur "vierge" avec son bon ID de facon certaine
            var user = await _userManager.FindByIdAsync(userId);

            //sinon je crée un utilisateur
            Utilisateur nouvel_utilisateur = new Utilisateur
            {
                ApplicationUserID        = user.Id,
                Pseudo                   = "",
                DateCreationUtilisateur  = DateTime.Now,
                ProfilUtilisateurComplet = false,
                ConfirmEmail             = user.EmailConfirmed,
                Email           = user.Email,
                DateDeNaissance = DateTime.Now,
                Role            = "Membre",
                UrlAvatarImage  = "/images/userDefault.png"
            };
            await _utilisateurManager.AddUtilisateur(user, nouvel_utilisateur); //ajoute le nouvel utilisateur

            // recherche utilisateur avec l'id
            var utilisateur = await _utilisateurManager.GetUtilisateurByIdAsync(userId);

            if (utilisateur == null)
            {
                return(NotFound());
            }
            return(View(utilisateur));
        }