dotnet-dynamic-query/PoweredSoft.DynamicQuery.Core/IQueryResult.cs

46 lines
1.1 KiB
C#
Raw Normal View History

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; }
}
public interface IQueryResult<TRecord>
2018-10-17 19:30:55 -04:00
{
List<IAggregateResult> Aggregates { get; }
List<TRecord> Data { get; }
2018-10-17 19:30:55 -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-22 17:09:44 -04:00
bool HasSubGroups { get; }
List<IGroupQueryResult<TRecord>> SubGroups { get; set; }
2018-10-17 19:30:55 -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
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
}