public ActionResult EditAccount(AppUser model) { List <string> include_fields = new List <string>() { "FirstName", "LastName", "DisplayName", "PrefEmail", "PrefText", "PhoneNumber", "LockoutEndDateUtc" }; model.UserName = model.Email; var validator = new AppUserValid(); var errors = validator.Validate(model); if (errors.IsValid) { using (var userManager = HttpContext.GetOwinContext().GetUserManager <AppUserManager>()) { AppUser appUser = userManager.FindByEmail(model.Email); model.LockoutEndDateUtc = DateTime.Now; List <ModelUpdates> upd_list = GetModelUpdates.GetUpdates(model, appUser, null, include_fields); userManager.Update(appUser); return(View(appUser)); } } else { return(View()); } }
public ActionResult CreateAccount(AppUser model) { ViewBag.backLink = "Login"; model.UserName = model.Email; var validator = new AppUserValid(); var errors = validator.Validate(model); if (errors.IsValid) { model.UserName = model.Email; model.PasswordHash = HashFunctions.HashPassword(model.Password); using (var userManager = HttpContext.GetOwinContext().GetUserManager <AppUserManager>()) { var authManager = HttpContext.GetOwinContext().Authentication; var ident = userManager.Create(model); if (ident.Errors.Count() > 0) { if (((string[])ident.Errors)[0].Contains("is already taken")) { dynamic errorMessage = new { param1 = "UserName", param2 = "Account already exists." }; HttpContext.Response.StatusCode = (int)HttpStatusCode.NotAcceptable; return(Json(errorMessage, JsonRequestBehavior.AllowGet)); } } } } else { //Dictionary<String, String> err_list = GetModelErrors.GetErrors(ModelState); } return(View(model)); }