public Task <IEnumerable <BillingDivisionContract> > GetItemsAsync(
            BillingDivisionContractSearch option,
            CancellationToken token = default(CancellationToken))
        {
            var query = @"
SELECT      *
FROM        BillingDivisionContract c
WHERE       c.Id                = c.Id";

            if (option.CompanyId.HasValue)
            {
                query += @"
AND         c.CompanyId         = @CompanyId";
            }
            if (option.CustomerId.HasValue)
            {
                query += @"
AND         c.CustomerId        = @CustomerId";
            }
            if (!string.IsNullOrWhiteSpace(option.ContractNumber))
            {
                query += @"
AND         c.ContractNumber    = @ContractNumber";
            }
            if (option.CustomerIds?.Any() ?? false)
            {
                query += @"
AND         c.CustomerId        IN (SELECT Id FROM @CustomerIds)";
            }
            if (option.BillingIds?.Any() ?? false)
            {
                query += @"
AND         c.BillingId         IN (SELECT Id FROM @BillingIds)";
            }
            query += @"
ORDER BY    c.CompanyId         ASC
          , c.CustomerId        ASC
          , c.ContractNumber    ASC";
            return(dbHelper.GetItemsAsync <BillingDivisionContract>(query, new {
                option.CompanyId,
                option.CustomerId,
                option.ContractNumber,
                CustomerIds = option.CustomerIds.GetTableParameter(),
                BillingIds = option.BillingIds.GetTableParameter(),
            }, token));
        }
 public async Task <ActionResult <IEnumerable <BillingDivisionContract> > > GetItems(BillingDivisionContractSearch option, CancellationToken token)
 => (await billingDivisionContractProcessor.GetAsync(option, token)).ToArray();
Пример #3
0
 public async Task <IEnumerable <BillingDivisionContract> > GetAsync(BillingDivisionContractSearch option, CancellationToken token = default(CancellationToken))
 => await billingDivisionContractQueryProcessor.GetItemsAsync(option, token);