private void btnEditName_Click(object sender, EventArgs e) { EditName = new EditUserName(form.User); this.Controls.Add(EditName); EditName.BringToFront(); EditName.Location = new Point(100, 158); EditName.BtnSaveClick(btnChangeNameClick); }
public async Task <ActionResult> ChangeUserName(EditUserName model) { var IPAddress = Server.HtmlEncode(Request.UserHostAddress); ViewBag.IPAddress = IPAddress; if (!ModelState.IsValid) { return(View(model)); } // let's find out if they've picked a username that already exists var check = await UserManager.FindByNameAsync(model.UserName); if (check != null) { ModelState.AddModelError(nameof(EditUserName.UserName), "That username is not available"); return(View(model)); } // now, find out if the password is correct var current = await UserManager.FindByIdAsync(User.Identity.GetUserId()); if (await UserManager.CheckPasswordAsync(current, model.CurrentPassword)) { current.UserName = model.UserName; var result = await UserManager.UpdateAsync(current); if (result.Succeeded) { return(RedirectToAction("Index")); } StringBuilder sb = new StringBuilder(); sb.Append("There were some problems:"); sb.AppendLine(); foreach (var e in result.Errors) { sb.AppendLine(e); } ModelState.AddModelError("", sb.ToString()); return(View(model)); } ModelState.AddModelError(nameof(EditUserName.CurrentPassword), "Please try again."); return(View(model)); }