2018-10-17 19:30:55 -04:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace PoweredSoft.DynamicQuery.Core
|
|
|
|
|
{
|
|
|
|
|
public interface IAggregateResult
|
|
|
|
|
{
|
|
|
|
|
string Path { get; set; }
|
|
|
|
|
AggregateType Type { get; set; }
|
|
|
|
|
object Value { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
2019-03-19 23:54:15 -04:00
|
|
|
|
public interface IQueryResult<TRecord>
|
2018-10-17 19:30:55 -04:00
|
|
|
|
{
|
|
|
|
|
List<IAggregateResult> Aggregates { get; }
|
2019-03-19 23:54:15 -04:00
|
|
|
|
List<TRecord> Data { get; }
|
2018-10-17 19:30:55 -04:00
|
|
|
|
}
|
|
|
|
|
|
2019-03-19 23:54:15 -04:00
|
|
|
|
public interface IGroupQueryResult<TRecord> : IQueryResult<TRecord>
|
2018-10-17 19:30:55 -04:00
|
|
|
|
{
|
2018-10-18 21:52:05 -04:00
|
|
|
|
string GroupPath { get; set; }
|
|
|
|
|
object GroupValue { get; set; }
|
2019-03-19 23:54:15 -04:00
|
|
|
|
bool HasSubGroups { get; set; }
|
|
|
|
|
List<IGroupQueryResult<TRecord>> SubGroups { get; set; }
|
2018-10-17 19:30:55 -04:00
|
|
|
|
}
|
|
|
|
|
|
2019-03-19 23:54:15 -04:00
|
|
|
|
public interface IQueryExecutionResultPaging
|
2018-10-17 19:30:55 -04:00
|
|
|
|
{
|
2018-10-18 21:52:05 -04:00
|
|
|
|
long TotalRecords { get; set; }
|
|
|
|
|
long? NumberOfPages { get; set; }
|
2018-10-17 19:30:55 -04:00
|
|
|
|
}
|
2018-10-18 21:52:05 -04:00
|
|
|
|
|
2019-03-19 23:54:15 -04:00
|
|
|
|
public interface IQueryExecutionResult<TRecord> : IQueryResult<TRecord>, IQueryExecutionResultPaging
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public interface IQueryExecutionGroupResult<TRecord> : IQueryExecutionResult<TRecord>
|
|
|
|
|
{
|
|
|
|
|
List<IGroupQueryResult<TRecord>> Groups { get; set; }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2018-10-17 19:30:55 -04:00
|
|
|
|
}
|