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")); }
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()); }