public MembershipCreateStatus CreateMember(ICreateMemberModel model) { MembershipCreateStatus result = MembershipCreateStatus.ProviderError; if (model != null) { try { if (IsInvalidUserName(model.UserName)) { result = MembershipCreateStatus.InvalidUserName; } else if (IsInvalidPassword(model.Password)) { result = MembershipCreateStatus.InvalidPassword; } else if (IsInvalidEmail(model.Email)) { result = MembershipCreateStatus.InvalidEmail; } else { result = this.provider.CreateMember(model.UserName, model.Password, model.Email, model.IsApproved); } } catch (Exception) { //todo : log result = MembershipCreateStatus.ProviderError; } //Hide all other provider error from the user switch (result) { case MembershipCreateStatus.DuplicateProviderUserKey: case MembershipCreateStatus.InvalidAnswer: case MembershipCreateStatus.InvalidProviderUserKey: case MembershipCreateStatus.InvalidQuestion: //todo: log result = MembershipCreateStatus.ProviderError; break; } } else { result = MembershipCreateStatus.ProviderError; } return result; }
public ActionResult Create(ICreateMemberModel model) { if (model != null && ModelState.IsValid) { // Attempt to create the user MembershipCreateStatus createStatus = membersManagerService.CreateMember(model); if (createStatus == MembershipCreateStatus.Success) { return RedirectToAction("Create", "Members", new { Area = "SymNet" }); } else { ModelState.AddModelError("", ErrorCodeToString(createStatus)); } } // If we got this far, something failed, redisplay form return View(model); }