public async Task <(IdentityResult identityResult, TKey roleId)> CreateRoleAsync(TRoleDto role)
        {
            var roleEntity = _mapper.Map <TRole>(role);

            var(identityResult, roleId) = await _identityRepository.CreateRoleAsync(roleEntity);

            var handleIdentityError = HandleIdentityError(identityResult, _identityServiceResources.RoleCreateFailed().Description, _identityServiceResources.IdentityErrorKey().Description, role);

            return(handleIdentityError, roleId);
        }
        public async Task <IdentityResult> CreateRoleAsync(RoleDto role)
        {
            var roleEntity     = role.ToEntity();
            var identityResult = await _identityRepository.CreateRoleAsync(roleEntity);

            return(HandleIdentityError(identityResult, _identityServiceResources.RoleCreateFailed().Description, _identityServiceResources.IdentityErrorKey().Description, role));
        }
        public virtual async Task <(IdentityResult identityResult, TKey roleId)> CreateRoleAsync(TRoleDto role)
        {
            var roleEntity = Mapper.Map <TRole>(role);

            var(identityResult, roleId) = await IdentityRepository.CreateRoleAsync(roleEntity);

            var handleIdentityError = HandleIdentityError(identityResult, IdentityServiceResources.RoleCreateFailed().Description, IdentityServiceResources.IdentityErrorKey().Description, role);

            await AuditEventLogger.LogEventAsync(new RoleAddedEvent <TRoleDto>(role));

            return(handleIdentityError, roleId);
        }