public ActionResult Disassociate(DisassociateUserViewModel inModel) { RecaptchaVerificationHelper recaptchaHelper = this.GetRecaptchaVerificationHelper(); if (String.IsNullOrEmpty(recaptchaHelper.Response)) { ModelState.AddModelError("", "Captcha answer cannot be empty."); return View(inModel); } RecaptchaVerificationResult recaptchaResult = recaptchaHelper.VerifyRecaptchaResponse(); if (recaptchaResult != RecaptchaVerificationResult.Success) { ModelState.AddModelError("", "Incorrect captcha answer."); return View(inModel); } try { var user = _ctx.UserProfiles.Where(m => m.UserId == inModel.UserId).Where(m => m.Email == inModel.Email). Where(m => m.UserName == inModel.UserName).SingleOrDefault(); if(Membership.ValidateUser(inModel.UserName, inModel.Password) && user != null) { WebSecurity.Logout(); //OAuthWebSecurity.DeleteAccount("SimpleMembershipProvider", user.UserId.ToString()) ((SimpleMembershipProvider)Membership.Provider).DeleteAccount(user.UserName); //((SimpleMembershipProvider)Membership.Provider).DeleteUser(user.UserName, true); ; return View("DeleteAccountSuccess"); } else { ModelState.AddModelError("", "The password is incorrect"); return View(inModel); } } catch { ModelState.AddModelError("", "The username and email do not match"); return View(inModel); } }
//[SessionExpireFilter] public ActionResult Disassociate() { var userName = HttpContext.User.Identity.Name; var user = _ctx.UserProfiles.Where(m => m.UserName == userName).SingleOrDefault(); var outModel = new DisassociateUserViewModel { UserId = user.UserId }; return View(outModel); }