예제 #1
0
        public Task <IEnumerable <FunctionAuthority> > GetAsync(FunctionAuthoritySearch option, CancellationToken token = default(CancellationToken))
        {
            var query = @"
SELECT      fa.*
FROM        FunctionAuthority fa
WHERE       fa.CompanyId         = @CompanyId";

            if (option.LoginUserId.HasValue)
            {
                query += @"
AND         fa.AuthorityLevel   IN (
            SELECT      lu.FunctionLevel
            FROM        LoginUser lu
            WHERE       lu.Id           = @LoginUserId
            )";
            }
            if (option.FunctionTypes?.Any() ?? false)
            {
                query += @"
AND         fa.FunctionType     IN (SELECT Id   FROM @FunctionTypes)";
            }

            return(dbHelper.GetItemsAsync <FunctionAuthority>(query, new {
                option.CompanyId,
                option.LoginUserId,
                FunctionTypes = option.FunctionTypes.GetTableParameter()
            }, token));
        }
예제 #2
0
 public async Task <IEnumerable <FunctionAuthority> > GetItems(FunctionAuthoritySearch option, CancellationToken token)
 => (await functionAuthorityProcessor.GetAsync(option, token)).ToArray();
예제 #3
0
 public async Task <IEnumerable <FunctionAuthority> > GetAsync(FunctionAuthoritySearch option, CancellationToken token = default(CancellationToken))
 => await functionAuthorityQueryProcessor.GetAsync(option, token);