internal virtual UpdateAccountSettingsResponse UpdateAccountSettings(UpdateAccountSettingsRequest request)
        {
            var marshaller   = UpdateAccountSettingsRequestMarshaller.Instance;
            var unmarshaller = UpdateAccountSettingsResponseUnmarshaller.Instance;

            return(Invoke <UpdateAccountSettingsRequest, UpdateAccountSettingsResponse>(request, marshaller, unmarshaller));
        }
Example #2
0
        public async Task <MessageOutputBase> UpdateSettings([FromBody] UpdateAccountSettingsRequest request)
        {
            MessageOutputBase result = null;

            request.UserName = GetCurrentUser();

            await Execute(flow =>
            {
                flow.StartRegisterFlow()
                .Add <CheckUserExistsStep>()
                .Add <UpdateAccountSettingsStep>();

                flow.
                When <UserNotFoundStep, UserNotFoundParams>(notFound =>
                {
                    result = notFound.Response;
                })
                .When <UpdateAccountSettingsStep, UpdateAccountSettingsParams>(update =>
                {
                    result = update.Response;
                });
            }, request,
                          error =>
            {
                result = error;
            });

            return(result);
        }
        internal virtual UpdateAccountSettingsResponse UpdateAccountSettings(UpdateAccountSettingsRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = UpdateAccountSettingsRequestMarshaller.Instance;
            options.ResponseUnmarshaller = UpdateAccountSettingsResponseUnmarshaller.Instance;

            return(Invoke <UpdateAccountSettingsResponse>(request, options));
        }
Example #4
0
        public async Task UpdateAccountSettings()
        {
            var token  = "YOUR_TOKEN_HERE";
            var config = new PutioConfiguration(token);
            var client = new PutIoApiClient(config);

            // Get account info for the user
            var accountInfo = await client.Account.GetAccountInfo();

            accountInfo.ShouldNotBeNull();

            // Get account settings
            var accountSettings = await client.Account.GetAccountSettings();

            accountSettings.ShouldNotBeNull();

            // Set IsInvisible to true
            var updateAccountSettings = new UpdateAccountSettingsRequest
            {
                IsInvisible = true
            };

            await client.Account.UpdateAccountSettings(updateAccountSettings);

            // Verify setting has been updated
            accountSettings = await client.Account.GetAccountSettings();

            accountSettings.ShouldNotBeNull();
            accountSettings.IsInvisible.ShouldBeTrue();

            // Set IsInvisible to false
            updateAccountSettings = new UpdateAccountSettingsRequest
            {
                IsInvisible = false
            };

            await client.Account.UpdateAccountSettings(updateAccountSettings);

            // Verify settings has been updated
            accountSettings = await client.Account.GetAccountSettings();

            accountSettings.ShouldNotBeNull();
            accountSettings.IsInvisible.ShouldBeFalse();
        }
 /// <summary>
 /// Update account settings
 /// </summary>
 public async Task UpdateAccountSettings(UpdateAccountSettingsRequest request)
 {
     await _apiClient.ExecutePostAsync("account/settings", request);
 }
        /// <summary>
        /// Initiates the asynchronous execution of the UpdateAccountSettings operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the UpdateAccountSettings operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/chime-2018-05-01/UpdateAccountSettings">REST API Reference for UpdateAccountSettings Operation</seealso>
        public virtual Task <UpdateAccountSettingsResponse> UpdateAccountSettingsAsync(UpdateAccountSettingsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = UpdateAccountSettingsRequestMarshaller.Instance;
            var unmarshaller = UpdateAccountSettingsResponseUnmarshaller.Instance;

            return(InvokeAsync <UpdateAccountSettingsRequest, UpdateAccountSettingsResponse>(request, marshaller,
                                                                                             unmarshaller, cancellationToken));
        }
        public async Task <IActionResult> UpdateSettings(UpdateAccountSettingsRequest updateAccountSettingsRequest)
        {
            if (updateAccountSettingsRequest.NewPassword != updateAccountSettingsRequest.ConfirmNewPassword)
            {
                ModelState.AddModelError("ConfirmPassword", "Password and Confirm Password must match.");
            }

            var userId = _userManager.GetUserId(HttpContext.User);
            var user   = await _userManager.FindByNameAsync(userId);

            user.FirstName   = updateAccountSettingsRequest.FirstName;
            user.LastName    = updateAccountSettingsRequest.LastName;
            user.PublicInfo  = updateAccountSettingsRequest.PublicInfo;
            user.Country     = updateAccountSettingsRequest.Country;
            user.ZipCode     = updateAccountSettingsRequest.Zipcode;
            user.State       = updateAccountSettingsRequest.State;
            user.City        = updateAccountSettingsRequest.City;
            user.AddressLine = updateAccountSettingsRequest.AddressLine;
            var updateResult = await _userManager.UpdateAsync(user);

            if (updateResult.Succeeded == false)
            {
                foreach (var error in updateResult.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
                updateAccountSettingsRequest.Email = user.Email;
            }


            var emailResult = await _userManager.SetEmailAsync(user, updateAccountSettingsRequest.Email);

            if (emailResult.Succeeded == false)
            {
                foreach (var error in emailResult.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
                updateAccountSettingsRequest.Email = user.Email;
            }
            var phoneResult = await _userManager.SetPhoneNumberAsync(user, updateAccountSettingsRequest.PhoneNumber);

            if (phoneResult.Succeeded == false)
            {
                foreach (var error in phoneResult.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
                updateAccountSettingsRequest.PhoneNumber = user.PhoneNumber;
            }
            if (string.IsNullOrEmpty(updateAccountSettingsRequest.NewPassword) == false)
            {
                var passwordResult = await _userManager.ChangePasswordAsync(user, updateAccountSettingsRequest.CurrentPassword, updateAccountSettingsRequest.NewPassword);

                if (passwordResult.Succeeded == false)
                {
                    foreach (var error in passwordResult.Errors)
                    {
                        ModelState.AddModelError(string.Empty, error.Description);
                    }
                    updateAccountSettingsRequest.Username = user.UserName;
                }
            }
            user = await _userManager.FindByNameAsync(userId);

            return(Ok(new BaseResponse <AccountSettingsResponse>
            {
                Data = new AccountSettingsResponse
                {
                    AddressLine = user.AddressLine,
                    Username = user.UserName,
                    City = user.City,
                    Country = user.Country,
                    Email = user.Email,
                    FirstName = user.FirstName,
                    LastName = user.LastName,
                    PhoneNumber = user.PhoneNumber,
                    PublicInfo = user.PublicInfo,
                    Zipcode = user.ZipCode,
                    State = user.State
                },
                Success = true,
            }));
        }