public async Task <ActionResult> ChangeContact([FromRoute][Required] int userId, [FromBody][Required] ChangeUserContactsContract contract) { // TODO analyze if method is still valid, if so analyze also required permissions var authorized = await m_userHelper.IsUserAuthorizedAsync(userId, true, true, PermissionNames.EditSelfContacts, PermissionNames.EditAnyUsersData); if (!authorized) { return(Forbid()); } var user = await m_identityUserManager.GetUserByIdAsync(userId); if (user.Email != contract.NewEmailValue) { var result = await m_identityUserManager.ChangeEmailAsync(user, contract.NewEmailValue); if (result.HasError) { return(Error(result.Error)); } } if (user.PhoneNumber != contract.NewPhoneNumberValue) { var result = await m_identityUserManager.ChangePhoneAsync(user, contract.NewPhoneNumberValue); if (result.HasError) { return(Error(result.Error)); } } return(Json(true)); }
public async Task <bool> ChangeContactAsync(int userId, ChangeUserContactsContract contract) { var fullPath = $"{BasePath}{userId}/changeContact"; return(await m_authorizationServiceHttpClient.SendRequestAsync <bool>(HttpMethod.Post, fullPath, contract)); }