public async Task AddToRoleAsync(T user, string roleName)
        {
            if (user == null)
            {
                throw new ArgumentNullException("user", "Parameter user cannot be null.");
            }

            if (string.IsNullOrEmpty(roleName))
            {
                throw new ArgumentNullException("roleName", "Parameter roleName cannot be null.");
            }

            var roleId = await _roleTable.GetRoleIdAsync(roleName);

            if (roleId != null)
            {
                await _userRolesTable.AddUserToRoleAsync(user, (string)roleId);
            }
        }