public async Task <IdentityResult> UpdateRoleAsync(RoleDto role)
        {
            var userIdentityRole = role.ToEntity();
            var identityResult   = await _identityRepository.UpdateRoleAsync(userIdentityRole);

            return(HandleIdentityError(identityResult, _identityServiceResources.RoleUpdateFailed().Description, _identityServiceResources.IdentityErrorKey().Description, role));
        }
        public async Task <(IdentityResult identityResult, TKey roleId)> UpdateRoleAsync(TRoleDto role)
        {
            var userIdentityRole = _mapper.Map <TRole>(role);

            var(identityResult, roleId) = await _identityRepository.UpdateRoleAsync(userIdentityRole);

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

            return(handleIdentityError, roleId);
        }
        public virtual async Task <(IdentityResult identityResult, TKey roleId)> UpdateRoleAsync(TRoleDto role)
        {
            var userIdentityRole = Mapper.Map <TRole>(role);

            var originalRole = await GetRoleAsync(role.Id.ToString());

            var(identityResult, roleId) = await IdentityRepository.UpdateRoleAsync(userIdentityRole);

            await AuditEventLogger.LogEventAsync(new RoleUpdatedEvent <TRoleDto>(originalRole, role));

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

            return(handleIdentityError, roleId);
        }