Exemple #1
0
        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));
        }
Exemple #2
0
        public async Task <bool> ChangeContactAsync(int userId, ChangeUserContactsContract contract)
        {
            var fullPath = $"{BasePath}{userId}/changeContact";

            return(await m_authorizationServiceHttpClient.SendRequestAsync <bool>(HttpMethod.Post, fullPath, contract));
        }