public ActionResult Register(RegisterModel model) { this.logger.Info("Entering: " + System.Reflection.MethodBase.GetCurrentMethod().ReflectedType.FullName + ": " + System.Reflection.MethodBase.GetCurrentMethod().Name + " --> " + User.Identity.Name); if (ModelState.IsValid) { // Attempt to register the user try { WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new { LastName = model.LastName, FirstName = model.FirstName, MiddleName = model.MiddleName, Email = model.Email, StudentIdentificationNumber = model.StudentIdentificationNumber }); WebSecurity.Login(model.UserName, model.Password); return RedirectToAction("Index", "Home"); } catch (MembershipCreateUserException e) { ModelState.AddModelError("", ErrorCodeToString(e.StatusCode)); } } // If we got this far, something failed, redisplay form return View(model); }
/// <summary> /// Registers the user. /// </summary> /// <param name="csvLine">The CSV line.</param> /// <param name="userRole">The user role.</param> /// <exception cref="CustomException"> /// Insufficient fields to create a user /// or /// </exception> private void RegisterUser(string csvLine, string userRole) { try { string[] userFields = csvLine.Split(','); if (userFields.Length != 6) throw new CustomException("Insufficient fields to create a user"); string password = PasswordGenerator.GetNewPassword(6); //register new user RegisterModel model = new RegisterModel() { UserName = userFields[0], FirstName = userFields[1], LastName = userFields[2], MiddleName = userFields[3], Email = userFields[4], StudentIdentificationNumber = userFields[5], Password = password }; WebMatrix.WebData.WebSecurity.CreateUserAndAccount(model.UserName, model.Password, propertyValues: new { LastName = model.LastName, FirstName = model.FirstName, MiddleName = model.MiddleName, Email = model.Email, StudentIdentificationNumber = model.StudentIdentificationNumber }); //assign chosen role to user Roles.AddUserToRole(userFields[0], userRole); //notify user by mail this.mailUtil.SendEmail(model.Email, "Account detail", "A new password was created for your Elearning platform account. Username:"******" Password:" + model.Password); } catch (InvalidOperationException ioe) { throw new CustomException(ioe.Message); } }