public async Task <IdentityResult> CreateUserAsync(UserDto user)
        {
            var userIdentity   = user.ToEntity();
            var identityResult = await _identityRepository.CreateUserAsync(userIdentity);

            return(HandleIdentityError(identityResult, _identityServiceResources.UserCreateFailed().Description, _identityServiceResources.IdentityErrorKey().Description, user));
        }
        public async Task <(IdentityResult identityResult, TKey userId)> CreateUserAsync(TUserDto user)
        {
            var userIdentity = _mapper.Map <TUser>(user);

            var(identityResult, userId) = await _identityRepository.CreateUserAsync(userIdentity);

            var handleIdentityError = HandleIdentityError(identityResult, _identityServiceResources.UserCreateFailed().Description, _identityServiceResources.IdentityErrorKey().Description, user);

            return(handleIdentityError, userId);
        }
        public virtual async Task <(IdentityResult identityResult, TKey userId)> CreateUserAsync(TUserDto user)
        {
            var userIdentity = Mapper.Map <TUser>(user);

            var(identityResult, userId) = await IdentityRepository.CreateUserAsync(userIdentity);

            var handleIdentityError = HandleIdentityError(identityResult, IdentityServiceResources.UserCreateFailed().Description, IdentityServiceResources.IdentityErrorKey().Description, user);

            await AuditEventLogger.LogEventAsync(new UserSavedEvent <TUserDto>(user));

            return(handleIdentityError, userId);
        }