public async Task <IActionResult> EditOtherUser(int id, [FromBody] User_UpdateModel new_data) { //Get user id from token var idClaim = User.Claims.FirstOrDefault(x => x.Type.ToString().Equals("Id")); int _id = int.Parse(idClaim.Value); var user = await context.Users.FirstOrDefaultAsync(u => u.UserId == _id); if (user != null) { if ((UserRoles)user.RoleId == UserRoles.Admin) { var _user = await context.Users.FirstOrDefaultAsync(u => u.UserId == id); if (_user != null && (UserRoles)_user.RoleId != UserRoles.Admin) { _user.Email = new_data.Email ?? _user.Email; _user.Name = new_data.Name ?? _user.Name; _user.Surname = new_data.Surname ?? _user.Surname; _user.PhoneNumber = new_data.PhoneNumber ?? _user.PhoneNumber; _user.Password = new_data.Password ?? _user.Password; await context.SaveChangesAsync(); return(Ok("User succesfully edited")); } return(BadRequest("Incorrect user Id or user is Admin")); } return(BadRequest("No permission to user edition")); } return(Unauthorized()); }
public async Task <IActionResult> EditUser([FromBody] User_UpdateModel new_data) { //Get user id from token var idClaim = User.Claims.FirstOrDefault(x => x.Type.ToString().Equals("Id")); int id = int.Parse(idClaim.Value); if (!DataHelper.IsPhoneNumber(new_data.PhoneNumber)) { return(BadRequest("Incorrect phone number")); } var user = await context.Users.FirstOrDefaultAsync(u => u.UserId == id); if (user != null) { user.Email = new_data.Email ?? user.Email; user.Name = new_data.Name ?? user.Name; user.Surname = new_data.Surname ?? user.Surname; user.PhoneNumber = new_data.PhoneNumber ?? user.PhoneNumber; user.Password = new_data.Password ?? user.Password; await context.SaveChangesAsync(); return(Ok(user)); } return(Unauthorized()); }