public IHttpActionResult EditUserProfile(string username, [FromBody] AdminEditUserBindingModel model) { if (!ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } // Find the user in the database var user = this.Data.Users.All().FirstOrDefault(x => x.UserName == username); if (user == null) { return(this.BadRequest("User not found: username = "******"admin") { return(this.BadRequest("Edit profile for user 'admin' is not allowed!")); } user.Name = model.Name; user.Email = model.Email; user.PhoneNumber = model.PhoneNumber; user.TownId = model.TownId; if (model.IsAdmin.HasValue) { if (model.IsAdmin.Value) { // Make the user administrator this.UserManager.AddToRole(user.Id, "Administrator"); } else { // Make the user non-administrator this.UserManager.RemoveFromRole(user.Id, "Administrator"); } } this.Data.SaveChanges(); return(this.Ok( new { message = "User " + user.UserName + " edited successfully.", } )); }
public IHttpActionResult EditUserProfile(string username, AdminEditUserBindingModel model) { if (!ModelState.IsValid) { return(this.BadRequest(this.ModelState)); } var user = this.Data.Users.All().FirstOrDefault(x => x.UserName == username); if (user == null) { return(this.BadRequest("User not found: username = "******"Administrator"); } else { this.UserManager.RemoveFromRole(user.Id, "Administrator"); } } this.Data.SaveChanges(); return(this.Ok( new { message = "User " + user.UserName + " edited successfully.", } )); }