public ActionResult AddUser(
            string lastname, string firstname, string idCompany,
            string mail, string phone, string[] selectRole, string job
            )
        {
            int resCompany = 0;

            Int32.TryParse(idCompany, out resCompany);
            int resRole = 0;

            UserDTO user = new UserDTO()
            {
                Lastname = lastname, Firstname = firstname, Id_Company = resCompany, Email = mail, Job = job, Password = SecurePasswordHasherHelper.Hash("MotdePasse1"), Is_Active = 1, Note = "", Is_Address_Private = 1, Phone_Number = phone
            };


            Tuple <Boolean, String> res = this.isFormValid(lastname, firstname, idCompany, mail, phone, selectRole.GetValue(0).ToString(), job);

            if (res.Item1)
            {
                userLogic.InsertOrUpdateUser(user);
                userLogic.RemoveAllUserRole(userLogic.GetUserByMail(user.Email));
                foreach (string idRole in selectRole)
                {
                    Int32.TryParse(idRole, out resRole);
                    roleLogic.Add_User_Role(userLogic.GetUserByMail(user.Email).Id, resRole);
                }
                mailLogic.SendNewAccountLinkEmail(user.Email, mailLogic.GeneratePasswordResetToken(userLogic.GetUserByMail(user.Email)), Request.Url.AbsoluteUri, Request.Url.PathAndQuery);
                TempData["SuccessModal"] = "Utilisateur " + user.Lastname + " " + user.Firstname + " ajouté avec succès";
            }
            else
            {
                TempData["FormError"] = res.Item2;
            }

            return(RedirectToAction("Index"));
        }
Пример #2
0
        public ActionResult PasswordReset(UserDTO userDTO)
        {
            bool   status = false;
            string message;
            //TODO Verifier que l'email existe dans base de données
            UserDTO userDetails = utilisateurLogic.GetUserByMail(userDTO.Email);

            if (userDetails == null)
            {
                //TODO Afficher un message d'erreur si l'email n'existe pas
                message = "Aucun compte avec cet email n'a été trouvé.";
            }
            else
            {
                // Générer le lien pour changer le mot de passe
                // Envoyer un mail à l'utilisateur
                mailLogic.SendPasswordResetLinkEmail(userDTO.Email, mailLogic.GeneratePasswordResetToken(userDetails), Request.Url.AbsoluteUri, Request.Url.PathAndQuery);
                message = "Un email contenant un lien vers la page d'édition de votre mot de passe vous à été envoyé.";
                status  = true;
            }
            ViewBag.Message = message;
            ViewBag.Status  = status;
            return(View());
        }