123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- using System;
- using InABox.Core;
- namespace InABox.Clients
- {
- public class QueryDef : IQueryDef
- {
- public QueryDef(Type type)
- {
- Type = type;
- }
- public Type Type { get; private set; }
- public IFilter? Filter { get; set; }
- public IColumns? Columns { get; set; }
- public ISortOrder? SortOrder { get; set; }
- }
-
- public class QueryDef<T> : IQueryDef where T : Entity, IRemotable, IPersistent, new()
- {
- public QueryDef(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sortorder = null)
- {
- Type = typeof(T);
- Filter = filter;
- Columns = columns;
- SortOrder = sortorder;
- }
- public Type Type { get; }
- public IFilter? Filter { get; }
- public IColumns? Columns { get; }
- public ISortOrder? SortOrder { get; }
- }
- public class KeyedQueryDef : QueryDef, IKeyedQueryDef
- {
- public string Key { get; }
- public KeyedQueryDef(string key, Type type, IFilter? filter = null, IColumns? columns = null, ISortOrder? sortOrder = null) : base(type)
- {
- Key = key;
- Filter = filter;
- Columns = columns;
- SortOrder = sortOrder;
- }
- }
- public class KeyedQueryDef<T> : QueryDef<T>, IKeyedQueryDef where T : Entity, IRemotable, IPersistent, new()
- {
- public string Key { get; }
- public KeyedQueryDef(
- string key,
- Filter<T>? filter = null,
- Columns<T>? columns = null,
- SortOrder<T>? sortorder = null): base(filter, columns, sortorder)
- {
- Key = key;
- }
- public KeyedQueryDef(
- Filter<T>? filter = null,
- Columns<T>? columns = null,
- SortOrder<T>? sortorder = null): base(filter, columns, sortorder)
- {
- Key = typeof(T).Name;
- }
- }
- /*public class HeadQueryDef<T> : IQueryDef where T : Entity, new()
- {
- public HeadQueryDef(Filter<T> filter, Columns<T> columns, SortOrder<T> sortorder)
- {
- Type = typeof(T);
- Filter = filter;
- Columns = columns;
- SortOrder = sortorder;
- }
- public Type Type { get; set; }
- public object Filter { get; set; }
- public object Columns { get; set; }
- public object SortOrder { get; set; }
- }
- public interface IChildQueryDef : IQueryDef { }
- public class ChildQueryDef<T> : IChildQueryDef where T : Entity, new()
- {
- public ChildQueryDef(Filter<T> filter, Columns<T> columns, SortOrder<T> sortorder)
- {
- Type = typeof(T);
- Filter = filter;
- Columns = columns;
- SortOrder = sortorder;
- }
- public Type Type { get; set; }
- public object Filter { get; set; }
- public object Columns { get; set; }
- public object SortOrder { get; set; }
- }*/
- }
|