public ActionResult EditInfos() { IUserProfile currUser = this.CurrentUser; if (currUser == null) { this.ForceUserLogOut(); return(LoginPage()); } UserInfosViewData userInfos = new UserInfosViewData(currUser); return(View(userInfos)); }
public ActionResult EditInfos(UserInfosViewData newUserInfos) { /* * if(String.IsNullOrEmpty(newUserInfos.email)) * { * ModelState.AddModelError("email", "Vous devez enter une adresse email."); * } * else if(!CovCakeMailer.IsValidEmail(newUserInfos.email)) * { * ModelState.AddModelError("email", "Cette adresse email est invalide."); * } */ if (string.IsNullOrEmpty(newUserInfos.nom)) { ModelState.AddModelError("nom", "Vous devez entrer un nom, celui ci ne sera jamais affiché dans son entier (ex: Julien C)."); } if (string.IsNullOrEmpty(newUserInfos.prenom)) { ModelState.AddModelError("prenom", "Vous devez entrer un prénom."); } var file = Request.Files["userImage"]; if ((file != null && (file.ContentLength != 0)) && (!file.ContentType.StartsWith("image") || Path.GetExtension(file.FileName) == "")) { ModelState.AddModelError("userImage", "Le format du fichier est invalide."); } //Test si le mail est déja prit //TODO: Ajaxer le test du mail déja prit /* * IUserProfile tMailUser = Data.UserDataAccess.GetUserByMail(newUserInfos.email.Trim().ToLower()); * if (tMailUser != null && tMailUser.UserId != CurrentUser.UserId) * { * ModelState.AddModelError("email", "Cette adresse email est déjà associée à un autre compte."); * } * * tMailUser = null; */ if (ModelState.IsValid) { IUserProfile currUser = this.CurrentUser; /* * bool emailChanged = false; * if (currUser.Email.Trim().ToLower() != newUserInfos.email.Trim().ToLower()) * { * currUser.ActivationKey = Guid.NewGuid(); * emailChanged = true; * } */ try { currUser = newUserInfos.UpdateUserProfile(currUser, Data); if (file != null && file.ContentLength != 0) { currUser.ImagePersoPath = SaveUserImage(file, currUser); } //Update DB Data.UserDataAccess.Save(); } catch (Exception ex) { ModelState.AddModelError("_FORM", "Vos modifications n'ont pas pu être effectuées."); CovCake.Log.Error(ex.Message, ex); return(View(newUserInfos)); } //refresh page ou vider cache client. this.ValidStateMessages.Add("Vos informations ont bien été modifiées."); /* * if (emailChanged) * { * var newMail= newUserInfos.email.Trim().ToLower(); * this.CovCakeMailer.SendChangeEmailMail(currUser, newMail); * this.ValidStateMessages.Add("Vous avez changé votre adresse email, un email de confirmation vous a été envoyé."); * * }*/ TempData["ViewInfos"] = this.ValidStateMessages; return(RedirectToRoute(CovCake.Routes.MONCOMPTE));//"MonCompte"); } return(View(newUserInfos)); }
public ActionResult Inscription(UserInfosViewData registerData) { //string nom = form["nom"].ToTitleCase(); //string prenom = form["prenom"].ToTitleCase(); //string age_jour = form["age_jour"]; //string age_mois = form["age_mois"]; //string age_annee = form["sexe"]; //string sexe = form["age_annee"]; //string numdept = form["numdept"]; //string ville = form["ville"]; //string password = form["password"]; //string confirmPassword = form["confirmPassword"]; //string email = form["email"].ToLower(); string nom = registerData.nom.ToTitleCase().Trim(); string prenom = registerData.prenom.ToTitleCase().Trim(); string age_jour = registerData.age_jour; string age_mois = registerData.age_mois; string age_annee = registerData.age_annee; string sexe = registerData.sexe; string numdept = registerData.numdept; string ville = registerData.ville.ToTitleCase().Trim(); string password = registerData.password; string confirmPassword = registerData.confirmPassword; string email = registerData.email.ToLower().Trim(); ViewData["PasswordLength"] = this.MembershipUserManager.MinRequiredPasswordLength; // Basic parameter validation if (String.IsNullOrEmpty(email)) { ModelState.AddModelError("email", "Vous devez entrer une adresse email."); } else if (!CovCakeMailer.IsValidEmail(email)) { ModelState.AddModelError("email", "Cette adresse email est invalide."); } if (password == null || password.Length < this.MembershipUserManager.MinRequiredPasswordLength) { ModelState.AddModelError("password", String.Format(CultureInfo.CurrentCulture, "Le mot de passe doit être composé d'au moins {0} caracteres.", this.MembershipUserManager.MinRequiredPasswordLength)); } if (string.IsNullOrEmpty(nom)) { ModelState.AddModelError("nom", "Vous devez entrer un nom, seule son initiale sera affichée (ex: Julien C)."); } if (string.IsNullOrEmpty(prenom)) { ModelState.AddModelError("prenom", "Vous devez entrer un prénom."); } if (!String.Equals(password, confirmPassword, StringComparison.Ordinal)) { ModelState.AddModelError("confirmPassword", "Le mot de passe et sa confirmation ne correspondent pas."); } if (ViewData.ModelState.IsValid) { // Attempt to register the user MembershipCreateStatus createStatus; MembershipUser newUser = this.MembershipUserManager.CreateUser(email, password, email, null, null, false, null, out createStatus); if (newUser != null) { using (TransactionScope trans = new TransactionScope()) { Guid userID = (Guid)newUser.ProviderUserKey; int ageAnnee = 1900 + int.Parse(age_annee); DateTime dateNaiss = new DateTime(ageAnnee, int.Parse(age_mois), int.Parse(age_jour)); IUserProfile user = Data.UserDataAccess.CreateUser(userID, nom, prenom, dateNaiss, bool.Parse(sexe)); user.NumDepartement = numdept; user.Ville = ville; user.ActivationKey = Guid.NewGuid(); //Insert in table Data.UserDataAccess.InsertUser(user); ViewData["email"] = email; if (CovCakeConfiguration.ConfirmRegistration) { //envoi de mail de confirm bool rezsend = this.CovCakeMailer.SendSignupMail(user, email, password); if (rezsend == false) { return(Error("Une erreur est survenue lors de votre enregistrement.")); } trans.Complete(); return(View("PendingRegistration", user)); } else { //Envoi mail de bienvenue this.CovCakeMailer.SendSignupConfirmation(user, email, password); //activation directe this.ActivateAccount(user.ActivationKey.Value); trans.Complete(); return(HomeIndex()); //RedirectToAction("Index", "Home"); } } } else { this.SetModelError(createStatus); } } // If we got this far, something failed, redisplay form // UpdateModel(registerData); return(View(registerData)); }