瀏覽代碼

Removed Store.Load; Removed Store.List

Kenric Nugteren 1 年之前
父節點
當前提交
6037c4cc18

+ 1 - 1
InABox.Client.Local/LocalClient.cs

@@ -121,7 +121,7 @@ namespace InABox.Clients
         protected override TEntity[] DoLoad(Filter<TEntity>? filter = null, SortOrder<TEntity>? sort = null)
         {
             var store = DbFactory.FindStore<TEntity>(ClientFactory.UserGuid, ClientFactory.UserID, ClientFactory.Platform, ClientFactory.Version);
-            var result = store.Load(filter, sort);
+            var result = store.Query(filter, null, sort).ToObjects<TEntity>().ToArray();
             return result;
         }
 

+ 8 - 4
InABox.Core/CoreTable/CoreTable.cs

@@ -279,12 +279,16 @@ namespace InABox.Core
             => Rows.Select(x => x.ToObject(T));
         public IEnumerable<T> ToObjects<T>() where T : BaseObject, new()
             => Rows.Select(x => x.ToObject<T>());
-        
+        public List<T> ToList<T>() where T : BaseObject, new()
+            => ToObjects<T>().ToList();
+        public T[] ToArray<T>() where T : BaseObject, new()
+            => ToObjects<T>().ToArray();
+
         #endregion
-        
+
         #region ToTuples
-        
-        
+
+
         public IEnumerable<Tuple<T1, T2>> ToTuples<TType, T1, T2>(
             Expression<Func<TType, T1>> item1, 
             Expression<Func<TType, T2>> item2

+ 4 - 1
InABox.Core/ScriptType.cs

@@ -1,10 +1,13 @@
-namespace InABox.Core
+using System;
+
+namespace InABox.Core
 {
     public enum ScriptType
     {
         None,
         BeforeQuery,
         AfterQuery,
+        [Obsolete]
         AfterLoad,
         BeforeSave,
         AfterSave,

+ 0 - 16
InABox.Database/Stores/IStore.cs

@@ -17,12 +17,9 @@ namespace InABox.Database
         // Called once at Database Startup to initialise caches etc
         void Init();
         
-        IEnumerable<object[]> List(Filter<Entity>? filter = null, Columns<Entity>? columns = null, SortOrder<Entity>? sort = null);
-
         CoreTable Query(Filter<Entity>? filter = null, Columns<Entity>? columns = null, SortOrder<Entity>? sort = null);
         CoreTable Query(IFilter? filter = null, IColumns? columns = null, ISortOrder? sort = null);
         
-        Entity[] Load(Filter<Entity>? filter = null, SortOrder<Entity>? sort = null);
         void Save(Entity entity, string auditnote);
         void Save(IEnumerable<Entity> entities, string auditnote);
         void Delete(Entity entity, string auditnote);
@@ -34,12 +31,8 @@ namespace InABox.Database
 
     public interface IStore<T> : IStore where T : Entity, new()
     {
-        IEnumerable<object[]> List(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sort = null);
-
         CoreTable Query(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sort = null);
 
-        T[] Load(Filter<T>? filter = null, SortOrder<T>? sort = null);
-
         void Save(T entity, string auditnote);
         void Save(IEnumerable<T> entities, string auditnote);
 
@@ -47,14 +40,5 @@ namespace InABox.Database
         void Delete(IEnumerable<T> entities, string auditnote);
 
         void BulkUpdate(IEnumerable<T> entities);
-
-
-        //void ResetAggregate<TSource>(T entity, Expression<Func<TSource, object>> link, params IAggregate<TSource, T>[] aggregates) where TSource : Entity, new();
-        //DoubleAggregate<T, TTarget> Sum<TTarget>(Expression<Func<T, double>> source, Expression<Func<TTarget, double>> target) where TTarget : Entity, new();
-        //TimeSpanAggregate<T, TTarget> Sum<TTarget>(Expression<Func<T, TimeSpan>> source, Expression<Func<TTarget, TimeSpan>> target) where TTarget : Entity, new();
-        //IntegerAggregate<T, TTarget> Sum<TTarget>(Expression<Func<T, int>> source, Expression<Func<TTarget, int>> target) where TTarget : Entity, new();
-        //DoubleAggregate<T, TTarget> Count<TTarget>(Expression<Func<TTarget, double>> target) where TTarget : Entity, new();
-        //TimeSpanAggregate<T, TTarget> Count<TTarget>(Expression<Func<TTarget, TimeSpan>> target) where TTarget : Entity, new();
-        //IntegerAggregate<T, TTarget> Count<TTarget>(Expression<Func<TTarget, int>> target) where TTarget : Entity, new();
     }
 }

+ 0 - 96
InABox.Database/Stores/Store.cs

@@ -232,55 +232,6 @@ namespace InABox.Database
         //}
         //#endregion
 
-        #region List Functions
-
-        private IEnumerable<object[]> DoList(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sort = null)
-        {
-            UpdateUserTracking(UserTrackingAction.Read);
-
-            //last = DateTime.Now;
-            //OpenSession("List", false);
-            //LogStep("OpenSession");
-
-            try
-            {
-                var flt = PrepareFilter(filter);
-
-                flt = RunScript(ScriptType.BeforeQuery, flt);
-
-                var result = Provider.List(flt, columns, sort);
-
-                //LogStep("PopulateTable");
-                AfterList(result);
-
-                //CloseSession("List", false);
-                //LogStep("CloseSession");
-
-                return result;
-            }
-            catch (Exception e)
-            {
-                //CloseSession("List", false);
-                throw new Exception(e.Message + "\n\n" + e.StackTrace + "\n");
-            }
-        }
-
-        public IEnumerable<object[]> List(Filter<T>? filter = null, Columns<T>? columns = null, SortOrder<T>? sort = null)
-        {
-            return DoList(filter, columns, sort);
-        }
-
-        public IEnumerable<object[]> List(Filter<Entity>? filter = null, Columns<Entity>? columns = null, SortOrder<Entity>? sort = null)
-        {
-            return DoList((Filter<T>?)filter, (Columns<T>)columns, (SortOrder<T>)sort);
-        }
-
-        protected virtual void AfterList(IEnumerable<object[]> data)
-        {
-        }
-
-        #endregion
-
         #region Query Functions
 
         protected virtual CoreTable OnQuery(Filter<T>? filter, Columns<T>? columns, SortOrder<T>? sort)
@@ -349,53 +300,6 @@ namespace InABox.Database
             return filter;
         }
 
-        private T[] DoLoad(Filter<T>? filter = null, SortOrder<T>? sort = null)
-        {
-            UpdateUserTracking(UserTrackingAction.Read);
-
-            //OpenSession("Load", false);
-
-            T[] results = null;
-
-            try
-            {
-                var flt = PrepareFilter(filter);
-
-                flt = RunScript(ScriptType.BeforeQuery, flt);
-
-                results = Provider.Load(flt, sort);
-
-                AfterLoad(results);
-
-                //CloseSession("Load", false);
-
-                results = RunScript(ScriptType.AfterLoad, results) as T[];
-
-                return results;
-            }
-            catch (Exception e)
-            {
-                //CloseSession("Load", false);
-                throw new Exception(e.Message + "\n\n" + e.StackTrace + "\n");
-            }
-        }
-
-        public Entity[] Load(Filter<Entity>? filter = null, SortOrder<Entity>? sort = null)
-        {
-            return DoLoad((Filter<T>?)filter, sort != null ? (SortOrder<T>)sort : null);
-        }
-
-        public T[] Load(Filter<T>? filter = null, SortOrder<T>? sort = null)
-        {
-            return DoLoad(filter, sort);
-        }
-
-        protected virtual void AfterLoad(IEnumerable<T> items)
-        {
-            foreach (var item in items)
-                item.SetObserving(true);
-        }
-
         #endregion
 
         #region Saving Functions