public async Task <ObjectUserDetails> EditUserDetails(ObjectUserDetails request, ClaimsPrincipal actingUser) { var user = await Helper.GetUserByClaim(dbContext, actingUser, true); user.FirstName = request.FirstName; user.LastName = request.LastName; user.Email = request.Email; if (user.PhoneNumber != request.PhoneNumber) { throw new InvalidRequestException("can't change phonenumber"); //throw new NotImplementedException("Cant change phonenumbers yet"); } await dbContext.SaveChangesAsync(); return(Helper.DetailFromUser(user)); }
public static void ValidateAndNormalizeUserDetails(ObjectUserDetails userDetails) { userDetails.PhoneNumber = General.ConvertPhoneNoTo12Char( nameof(userDetails.PhoneNumber), userDetails.PhoneNumber); General.ValidateEmail(nameof(ObjectUserDetails.Email), userDetails.Email); General.ValidateStringLength( nameof(userDetails.FirstName), userDetails.FirstName, Settings.Validations.MinFirstNameLenght, Settings.Validations.MaxNameLenght, false); General.ValidateStringLength( nameof(userDetails.LastName), userDetails.LastName, Settings.Validations.MinLastNameLenght, Settings.Validations.MaxNameLenght, false); }
public async Task <IActionResult> EditUserDetails([FromBody] ObjectUserDetails request) { return(await ExecuteAsync( () => service.EditUserDetails(request, User), () => UserValidation.ValidateAndNormalizeUserDetails(request))); }