public async Task <IActionResult> ModifyUserChangeNameAsync([FromBody] ChangeNameModel model) { try { var newName = model.newName; var namePattern = new Regex(@"^[a-zA-Z0-9]{3,20}$"); if (!namePattern.IsMatch(newName)) { return(BadRequest(new { message = "New name should contain from 3 to 20 aplhanumeric symbols" })); } var connectionString = _configuration.GetConnectionString("LaboratoryBookConnectionString"); var userId = HttpContext .User .Claims .First(claim => claim.Type == "UserId") .Value; var commandString = $"UPDATE `users` SET `user_name` = '{newName}' " + $"WHERE (`user_id` = '{userId}'); "; var userNameUpdateResult = LaboratoryBookHelper.DbNoQuery( connectionString, commandString); if (userNameUpdateResult > 0) { var userStatus = HttpContext .User .Claims .First(claim => claim.Type == "UserStatus") .Value; var userName = newName; await HttpContext.SignOutAsync(); var claimsNoUserName = HttpContext.User.Claims.Where(claim => claim.Type != "UserName"); var claims = new List <Claim>() { new Claim("UserName", userName) }; claims.AddRange(claimsNoUserName); var userIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(userIdentity); await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal); return(Ok()); } else { return(NotFound("User name was not updated")); } } catch (Exception exception) { return(StatusCode(StatusCodes.Status500InternalServerError, new { message = exception.Message })); } }
public async Task <IActionResult> ChangeCompanyName(Guid id, [FromBody] ChangeNameModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await WorkerServices.ChangeNameAsync(id, model); return(Ok()); }
public ActionResult ChangeName(ChangeNameModel model) { try { if (!string.IsNullOrEmpty(model.NewName)) { UsersContext db = new UsersContext(); var check = from c in db.UserProfiles where c.UserName == model.NewName select c; if (check.Count() != 0) { ModelState.AddModelError("NewName", "This username has been taken."); } } if (string.IsNullOrEmpty(model.Password)) { ModelState.AddModelError("Password", "Enter password"); } else { if (!WebSecurity.Login(User.Identity.Name, model.Password)) { ModelState.AddModelError("Password", "You entered an incorrect current password!"); } } if (ModelState.IsValid) { using (UsersContext dbUser = new UsersContext()) { int id = WebSecurity.GetUserId(User.Identity.Name); UserProfile user = dbUser.UserProfiles.Find(id); user.UserName = model.NewName; dbUser.Entry(user).State = EntityState.Modified; dbUser.SaveChanges(); WebSecurity.Logout(); WebSecurity.Login(model.NewName, model.Password); } return(RedirectToAction("ChangeName", "Account", new { change = true })); } ViewBag.Change = false; return(View()); } catch (Exception e) { ViewBag.Error = e.Message; return(View("Error")); } }
public async Task ChangeNameAsync(Guid companyId, ChangeNameModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var userId = GetCurrentUserId(); var cmd = new ChangeCompanyNameCommand(userId, companyId, model.NewCompanyName, model.EffectiveDate); await Bus.Send(cmd); }
public async Task <IHttpActionResult> ChangeName(ChangeNameModel name) { ApplicationUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); user.FirstName = name.Name; IdentityResult result = await UserManager.UpdateAsync(user); if (result.Succeeded) { return(Ok()); } return(GetErrorResult(result)); }
public IHttpActionResult ChangeName(ChangeNameModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } UserManager.ChangeName(User.Identity.GetUserId(), model.NewName); return(Ok()); }