| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- using System;
 
- using InABox.Core;
 
- namespace InABox.Rpc
 
- {
 
-     public class RpcQueryDefinition : ISerializeBinary
 
-     {
 
-         public string Key { get; set; }
 
-         public Type Type { get; set; }
 
-         public IFilter? Filter { get; set; }
 
-         public IColumns? Columns { get; set; }
 
-         public ISortOrder? Sort { get; set; }
 
-         
 
-         public void SerializeBinary(CoreBinaryWriter writer)
 
-         {
 
-             writer.Write(Key ?? "");
 
-             writer.Write(Type.EntityName());
 
-             writer.WriteBinaryValue(Filter);
 
-             writer.WriteBinaryValue(Columns);
 
-             writer.WriteBinaryValue(Sort);
 
-         }
 
-         public void DeserializeBinary(CoreBinaryReader reader)
 
-         {
 
-             Key = reader.ReadString();
 
-             Type = CoreUtils.GetEntity(reader.ReadString());
 
-             Filter = reader.ReadBinaryValue(typeof(Filter<>).MakeGenericType(Type)) as IFilter;
 
-             Columns = reader.ReadBinaryValue(typeof(Columns<>).MakeGenericType(Type)) as IColumns;
 
-             Sort = reader.ReadBinaryValue(typeof(SortOrder<>).MakeGenericType(Type)) as ISortOrder;
 
-         }
 
-         public string FullDescription() => $"[{Filter}]";
 
-         public string ShortDescription() => $"Query";
 
-     }
 
- }
 
 
  |