private void AppendVoucherIdCondition(GetVouchersQuery request, Query query)
 {
   if (request.VoucherId.HasValue)
   {
     query.Where(accountDBContext.VoucherEntries.GetColumnName(nameof(VoucherEntry.Id)), request.VoucherId);
   }
 }
 private void AppendDateRangeCondition(GetVouchersQuery request, Query query)
 {
   if (request.Range != null)
   {
     query.WhereBetween(accountDBContext.VoucherEntries.GetColumnName(nameof(VoucherEntry.Date)), request.Range.From, request.Range.To);
   }
 }
 private void AppendWhereConditions(GetVouchersQuery request, Query query)
 {
   AppendVoucherIdCondition(request, query);
   AppendVoucherTypeCondition(request, query);
   AppendDateRangeCondition(request, query);
 }
 public override async Task<IEnumerable<VoucherEntry>> PerformQueryAsync(GetVouchersQuery request, CancellationToken cancellationToken)
 {
   var query = accountDBContext.VoucherEntries.Query;
   AppendWhereConditions(request, query);
   return await accountDBContext.VoucherEntries.QueryAsync(request.TenantId, query, cancellationToken);
 }