public IEnumerable <Bill> Ask(FindByCountAndOffset criterion)
        {
            return(_dbTransactionProvider.CurrentTransaction.Connection
                   .Query <Bill, Client, Bill>(@"
                    SELECT
                        Bill.Id,
                        CAST(Bill.Sum AS REAL) `Sum`,
                        Bill.Number,
                        Bill.CreatedAt,
                        Bill.PayedAt,
                        Client.Id,
                        Client.Name,
                        Client.Inn
                    FROM Bill
                    JOIN Client ON Client.Id = Bill.ClientId
                    ORDER BY Bill.CreatedAt ASC, Bill.Number ASC
                    LIMIT @Limit OFFSET @Offset", (bill, client) =>
            {
                bill.GetType().GetProperty("Client").SetValue(bill, client);

                return bill;
            }, new
            {
                Limit = criterion.Count,
                Offset = criterion.Offset
            }));
        }
예제 #2
0
 public IEnumerable <Client> Ask(FindByCountAndOffset criterion)
 {
     return(_dbTransactionProvider.CurrentTransaction.Connection
            .Query <Client>(@"
             SELECT
                 Id,
                 Name,
                 Inn
             FROM Client
             ORDER BY Name ASC
             LIMIT @Limit OFFSET @Offset", new { Limit = criterion.Count, Offset = criterion.Offset }));
 }