public ActionResult Activate() { if (Request.QueryString["u"] != null && Request.QueryString["r"] != null) { RegisterModel model = new RegisterModel(); //model.UserName = Security.DES_decrypt(Request.QueryString["u"]); // model.Email = model.UserName; model.AccessCode = Security.DES_decrypt(Request.QueryString["r"]); return View(model); } return RedirectToAction("Register"); }
public ActionResult Register(RegisterModel model) { if (ModelState.IsValid) { if(!String.IsNullOrEmpty( Membership.GetUserNameByEmail(model.Email))) { ModelState.AddModelError("UAE","E-Mail address already exists"); return View(model); } // Attempt to register the user MembershipCreateStatus createStatus; Membership.CreateUser(model.Email, model.Password, model.Email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus); switch(model.AccessCode.ToLower()) { case "chiro": Roles.AddUserToRole(model.Email, "Chiropractor"); break; case "patient": Roles.AddUserToRole(model.Email, "Patient"); break; } if (createStatus == MembershipCreateStatus.Success) { FormsAuthentication.SetAuthCookie(model.Email, createPersistentCookie: false); return RedirectToAction("Index", "Messages"); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form return View(model); }