예제 #1
0
        public async Task UpdateAsync()
        {
            //Arrange
            _currentUser.Id.Returns(_testData.UserJohnId);
            _currentUser.IsAuthenticated.Returns(true);

            var input = new UpdateProfileDto
            {
                UserName    = CreateRandomString(),
                PhoneNumber = CreateRandomPhoneNumber(),
                Email       = CreateRandomEmail(),
                Name        = CreateRandomString(),
                Surname     = CreateRandomString()
            };

            //Act
            var result = await _profileAppService.UpdateAsync(input).ConfigureAwait(false);

            //Assert
            result.UserName.ShouldBe(input.UserName);
            result.Email.ShouldBe(input.Email);
            result.PhoneNumber.ShouldBe(input.PhoneNumber);
            result.Surname.ShouldBe(input.Surname);
            result.Name.ShouldBe(input.Name);
        }
예제 #2
0
        public virtual async Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
        {
            var user = await _userManager.GetByIdAsync(CurrentUser.GetId());

            if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled))
            {
                (await _userManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
            }

            if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled))
            {
                (await _userManager.SetEmailAsync(user, input.Email)).CheckErrors();
            }

            (await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors();

            user.Name    = input.Name;
            user.Surname = input.Surname;

            (await _userManager.UpdateAsync(user)).CheckErrors();

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <IdentityUser, ProfileDto>(user));
        }
예제 #3
0
        public async Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
        {
            var user = await _userManager.GetByIdAsync(CurrentUser.GetId());


            var isUsernameUpdateEnabled = string.Equals(await(SettingManager.GetOrNullAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled)),
                                                        "true", StringComparison.OrdinalIgnoreCase);

            if (isUsernameUpdateEnabled)
            {
                (await _userManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
            }

            var isEmailUpdateEnabled = !string.Equals(await(SettingManager.GetOrNullAsync(IdentitySettingNames.User.IsEmailUpdateEnabled)),
                                                      "true", StringComparison.OrdinalIgnoreCase);

            if (isEmailUpdateEnabled)
            {
                (await _userManager.SetEmailAsync(user, input.Email)).CheckErrors();
            }

            (await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors();

            user.Name    = input.Name;
            user.Surname = input.Surname;

            (await _userManager.UpdateAsync(user)).CheckErrors();

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <IdentityUser, ProfileDto>(user));
        }
예제 #4
0
        public async Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
        {
            var user = await _userManager.GetByIdAsync(CurrentUser.GetId());

            (await _userManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
            (await _userManager.SetEmailAsync(user, input.Email)).CheckErrors();
            (await _userManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors();
            user.Name    = input.Name;
            user.Surname = input.Surname;

            (await _userManager.UpdateAsync(user)).CheckErrors();
            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <IdentityUser, ProfileDto>(user));
        }
예제 #5
0
        public virtual async Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
        {
            await IdentityOptions.SetAsync();

            var user = await UserManager.GetByIdAsync(CurrentUser.GetId());

            if (!string.Equals(user.UserName, input.UserName, StringComparison.InvariantCultureIgnoreCase))
            {
                if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsUserNameUpdateEnabled))
                {
                    (await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors();
                }
            }

            if (!string.Equals(user.Email, input.Email, StringComparison.InvariantCultureIgnoreCase))
            {
                if (await SettingProvider.IsTrueAsync(IdentitySettingNames.User.IsEmailUpdateEnabled))
                {
                    (await UserManager.SetEmailAsync(user, input.Email)).CheckErrors();
                }
            }

            if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase))
            {
                (await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors();
            }

            user.Name    = input.Name;
            user.Surname = input.Surname;

            user.SetConcurrencyStampIfNotNull(input.ConcurrencyStamp);

            input.MapExtraPropertiesTo(user);

            (await UserManager.UpdateAsync(user)).CheckErrors();

            await CurrentUnitOfWork.SaveChangesAsync();

            return(ObjectMapper.Map <IdentityUser, ProfileDto>(user));
        }
예제 #6
0
 public Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
 {
     return(_profileAppService.UpdateAsync(input));
 }
 public virtual Task <ProfileDto> UpdateAsync(UpdateProfileDto input)
 {
     return(ProfileAppService.UpdateAsync(input));
 }