瀏覽代碼

Added SortOrder fucntionality to DataModel classes

frogsoftware 1 周之前
父節點
當前提交
c07f2d5915

+ 1 - 1
prs.classes/DataModels/BaseDataModel.cs

@@ -8,7 +8,7 @@ namespace Comal.Classes
     {
     {
         public BaseDataModel(Filter<T> filter, Columns<T> columns = null, SortOrder<T> sort = null) : base(filter, columns, sort)
         public BaseDataModel(Filter<T> filter, Columns<T> columns = null, SortOrder<T> sort = null) : base(filter, columns, sort)
         {
         {
-            AddTable(new Filter<Employee>(x => x.UserLink.ID).IsEqualTo(ClientFactory.UserGuid), null, isdefault: true);
+            AddTable(new Filter<Employee>(x => x.UserLink.ID).IsEqualTo(ClientFactory.UserGuid), null, null, isdefault: true);
         }
         }
     }
     }
 }
 }

+ 2 - 2
prs.classes/DataModels/ManufacturingTreatmentDataModel.cs

@@ -12,10 +12,10 @@ namespace Comal.Classes
         {
         {
             _order = order;
             _order = order;
 
 
-            AddTable(new Filter<PurchaseOrder>(x => x.ID).IsEqualTo(order.ID), null, true);
+            AddTable(new Filter<PurchaseOrder>(x => x.ID).IsEqualTo(order.ID), null, null, true);
             AddChildTable<PurchaseOrder, PurchaseOrderItem>(x => x.ID, x => x.PurchaseOrderLink.ID, isdefault:true);
             AddChildTable<PurchaseOrder, PurchaseOrderItem>(x => x.ID, x => x.PurchaseOrderLink.ID, isdefault:true);
 
 
-            AddTable(new Filter<Delivery>(x => x.ID).IsEqualTo(delivery.ID), null, true);
+            AddTable(new Filter<Delivery>(x => x.ID).IsEqualTo(delivery.ID), null, null, true);
         }
         }
 
 
         public override string Name => "Manufacturing Treatment";
         public override string Name => "Manufacturing Treatment";

+ 1 - 1
prs.desktop/Dashboards/Manufacturing/FactoryProductivityDataModel.cs

@@ -11,7 +11,7 @@ namespace PRSDesktop
         public FactoryProductivityDataModel(FactoryProductivityDashboard.HistoryViewModel history)
         public FactoryProductivityDataModel(FactoryProductivityDashboard.HistoryViewModel history)
         {
         {
             this.history = history;
             this.history = history;
-            AddTable<ManufacturingHistory>(null, null);
+            AddTable<ManufacturingHistory>(null, null, null);
         }
         }
 
 
         public override string Name => "Factory Productivity";
         public override string Name => "Factory Productivity";

+ 1 - 1
prs.desktop/Dashboards/System/DatabaseActivityDataModel.cs

@@ -10,7 +10,7 @@ namespace PRSDesktop
         public DatabaseActivityDataModel(DatabaseActivityDashboard.HistoryViewModel history)
         public DatabaseActivityDataModel(DatabaseActivityDashboard.HistoryViewModel history)
         {
         {
             _history = history;
             _history = history;
-            AddTable<DatabaseActivityDashboard.History>(null, null, shouldLoad: false);
+            AddTable<DatabaseActivityDashboard.History>(null, null, null, shouldLoad: false);
         }
         }
 
 
         public override string Name => "Database Activity";
         public override string Name => "Database Activity";

+ 1 - 1
prs.desktop/Dashboards/System/UserActivityDataModel.cs

@@ -10,7 +10,7 @@ namespace PRSDesktop
         public UserActivityDataModel(List<UserActivity.History> summary)
         public UserActivityDataModel(List<UserActivity.History> summary)
         {
         {
             this.summary = summary;
             this.summary = summary;
-            AddTable<UserActivity.History>(null, null, shouldLoad: false);
+            AddTable<UserActivity.History>(null, null, null, shouldLoad: false);
         }
         }
 
 
         public override string Name => "User Activity";
         public override string Name => "User Activity";

+ 1 - 1
prs.desktop/Panels/Jobs/BillOfMaterials/JobBillOfMaterialsPanel.xaml.cs

@@ -68,7 +68,7 @@ public partial class JobBillOfMaterialsPanel : UserControl, IBasePanel, IMasterD
         var jobfilter = Master != null
         var jobfilter = Master != null
             ? new Filter<Job>(x => x.ID).IsEqualTo(Master.ID) 
             ? new Filter<Job>(x => x.ID).IsEqualTo(Master.ID) 
             : new Filter<Job>().None();
             : new Filter<Job>().None();
-        model.AddTable<Job>(jobfilter, null, true, "Job", true);
+        model.AddTable<Job>(jobfilter, null, null, true, "Job", true);
         return model;
         return model;
     }
     }
 
 

+ 6 - 0
prs.desktop/Panels/Stock Forecast/StockForecastGrid.cs

@@ -50,6 +50,12 @@ public class StockForecastItem : BaseObject
 
 
     public List<ProductInstance> ProductInstances { get; set; } = new(0);
     public List<ProductInstance> ProductInstances { get; set; } = new(0);
 
 
+    public double Average1 { get; set; }
+    
+    public double Average2 { get; set; }
+    
+    public double Average3 { get; set; }
+    
     public double MinStock { get; set; }
     public double MinStock { get; set; }
     public double GenStock { get; set; }
     public double GenStock { get; set; }
     public double GenPO { get; set; }
     public double GenPO { get; set; }

+ 0 - 1
prs.logikal/App.xaml

@@ -1,7 +1,6 @@
 <Application x:Class="PRSLogikal.App"
 <Application x:Class="PRSLogikal.App"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             xmlns:local="clr-namespace:PRSLogikal"
              StartupUri="MainWindow.xaml">
              StartupUri="MainWindow.xaml">
     <Application.Resources>
     <Application.Resources>
          
          

+ 1 - 2
prs.logikal/App.xaml.cs

@@ -10,13 +10,12 @@ namespace PRSLogikal
     {
     {
         protected override void OnStartup(StartupEventArgs e)
         protected override void OnStartup(StartupEventArgs e)
         {
         {
-            
             string _procName = Process.GetCurrentProcess().ProcessName;
             string _procName = Process.GetCurrentProcess().ProcessName;
             Process[] _processes=Process.GetProcessesByName(_procName);
             Process[] _processes=Process.GetProcessesByName(_procName);
             if (_processes.Length > 1)
             if (_processes.Length > 1)
                 Shutdown(0);
                 Shutdown(0);
-            
             base.OnStartup(e);
             base.OnStartup(e);
         }
         }
+        
     }
     }
 }
 }

+ 0 - 1
prs.logikal/LogikalListener.cs

@@ -1,6 +1,5 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
-using System.Linq;
 using H.Formatters;
 using H.Formatters;
 using H.Pipes;
 using H.Pipes;
 using InABox.Integration.Logikal;
 using InABox.Integration.Logikal;

+ 9 - 19
prs.logikal/PRSLogikal.csproj

@@ -43,18 +43,18 @@
     <GenerateResourceMSBuildRuntime>CurrentRuntime</GenerateResourceMSBuildRuntime>
     <GenerateResourceMSBuildRuntime>CurrentRuntime</GenerateResourceMSBuildRuntime>
   </PropertyGroup>
   </PropertyGroup>
   <ItemGroup>
   <ItemGroup>
-    <Reference Include="DocumentFormat.OpenXml">
-      <HintPath>..\..\..\Users\frank\.nuget\packages\documentformat.openxml\3.3.0\lib\net8.0\DocumentFormat.OpenXml.dll</HintPath>
+    <Reference Include="H.Formatters, Version=2.0.59.0, Culture=neutral, PublicKeyToken=155b585918bc2f0b, processorArchitecture=MSIL">
+      <HintPath>..\..\packages\H.Formatters.2.0.59\lib\net451\H.Formatters.dll</HintPath>
     </Reference>
     </Reference>
     <Reference Include="H.Formatters.Newtonsoft.Json">
     <Reference Include="H.Formatters.Newtonsoft.Json">
-      <HintPath>..\..\..\Users\frank\.nuget\packages\h.formatters.newtonsoft.json\13.0.59\lib\net8.0\H.Formatters.Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\..\..\Users\frank.vandenbos\.nuget\packages\h.formatters.newtonsoft.json\13.0.59\lib\netstandard2.0\H.Formatters.Newtonsoft.Json.dll</HintPath>
     </Reference>
     </Reference>
     <Reference Include="H.Pipes">
     <Reference Include="H.Pipes">
-      <HintPath>..\..\..\Users\frank\.nuget\packages\h.pipes\2.0.59\lib\net6.0\H.Pipes.dll</HintPath>
+      <HintPath>..\..\..\Users\frank.vandenbos\.nuget\packages\h.pipes\2.0.59\lib\net6.0\H.Pipes.dll</HintPath>
     </Reference>
     </Reference>
     <Reference Include="mscorlib" />
     <Reference Include="mscorlib" />
     <Reference Include="Newtonsoft.Json">
     <Reference Include="Newtonsoft.Json">
-      <HintPath>..\..\..\Users\frank\.nuget\packages\newtonsoft.json\13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath>
+      <HintPath>..\..\..\Users\frank.vandenbos\.nuget\packages\newtonsoft.json\13.0.3\lib\netstandard2.0\Newtonsoft.Json.dll</HintPath>
     </Reference>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System" />
     <Reference Include="System.Core" />
     <Reference Include="System.Core" />
@@ -128,28 +128,18 @@
       <Name>InABox.Integration</Name>
       <Name>InABox.Integration</Name>
     </ProjectReference>
     </ProjectReference>
   </ItemGroup>
   </ItemGroup>
+
   <ItemGroup>
   <ItemGroup>
-    <PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" />
     <PackageReference Include="H.Formatters" Version="2.0.59" />
     <PackageReference Include="H.Formatters" Version="2.0.59" />
-    <PackageReference Include="H.Formatters.BinaryFormatter" Version="2.0.59" />
-    <PackageReference Include="H.Formatters.Newtonsoft.Json" Version="13.0.59" />
     <PackageReference Include="H.Pipes" Version="2.0.59" />
     <PackageReference Include="H.Pipes" Version="2.0.59" />
-    <PackageReference Include="Hardcodet.NotifyIcon.Wpf">
-      <Version>2.0.1</Version>
-    </PackageReference>
+    <PackageReference Include="Hardcodet.NotifyIcon.Wpf" Version="2.0.1" />
     <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
     <PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
     <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
-    <PackageReference Include="Ofcas.Framework.Translation" Version="1.0.0.397" />
-    <PackageReference Include="Ofcas.Lk.Api.Client.Core" Version="3.0.2.8" />
-    <PackageReference Include="Ofcas.Lk.Api.Client.Ui" Version="3.0.2.8" />
-    <PackageReference Include="Ofcas.Lk.Api.Core" Version="3.0.0.98" />
-    <PackageReference Include="Ofcas.Lk.Api.Ui" Version="3.0.0.98" />
-    <PackageReference Include="Stub.System.Data.SQLite.Core.NetFramework" Version="1.0.118" />
-    <PackageReference Include="System.Data.SQLite.Core" Version="1.0.118" />
+    <PackageReference Include="Ofcas.Lk.Api.Client.Core" Version="3.0.2.10" />
+    <PackageReference Include="Ofcas.Lk.Api.Client.Ui" Version="3.0.2.10" />
     <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.3" />
     <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="4.5.3" />
     <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
     <PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
   </ItemGroup>
   </ItemGroup>
-  <ItemGroup />
   <ItemGroup>
   <ItemGroup>
     <Resource Include="Resources\logikal.ico">
     <Resource Include="Resources\logikal.ico">
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>

+ 8 - 7
prs.server/Engines/WebEngine/WebListener.cs

@@ -82,10 +82,10 @@ namespace PRSServer
             _dataModel.AddTable(type, table, isdefault, alias);
             _dataModel.AddTable(type, table, isdefault, alias);
         }
         }
 
 
-        public void AddTable<TType>(Filter<TType>? filter, Columns<TType>? columns, bool isdefault = false, string? alias = null,
+        public void AddTable<TType>(Filter<TType>? filter, Columns<TType>? columns, SortOrder<TType>? sort, bool isdefault = false, string? alias = null,
             bool shouldLoad = true)
             bool shouldLoad = true)
         {
         {
-            _dataModel.AddTable(filter, columns, isdefault, alias, shouldLoad);
+            _dataModel.AddTable(filter, columns, sort, isdefault, alias, shouldLoad);
         }
         }
         public void AddTable(string alias, CoreTable table, bool isdefault = false)
         public void AddTable(string alias, CoreTable table, bool isdefault = false)
         {
         {
@@ -110,17 +110,17 @@ namespace PRSServer
         }
         }
 
 
         public void AddChildTable<TParent, TChild>(Expression<Func<TParent, object>> parentcolumn, Expression<Func<TChild, object>> childcolumn,
         public void AddChildTable<TParent, TChild>(Expression<Func<TParent, object>> parentcolumn, Expression<Func<TChild, object>> childcolumn,
-            Filter<TChild>? filter = null, Columns<TChild>? columns = null, bool isdefault = false, string? parentalias = null,
+            Filter<TChild>? filter = null, Columns<TChild>? columns = null, SortOrder<TChild>? sort = null, bool isdefault = false, string? parentalias = null,
             string? childalias = null)
             string? childalias = null)
         {
         {
-            _dataModel.AddChildTable(parentcolumn, childcolumn, filter, columns, isdefault, parentalias, childalias);
+            _dataModel.AddChildTable(parentcolumn, childcolumn, filter, columns, sort, isdefault, parentalias, childalias);
         }
         }
 
 
         public void AddLookupTable<TSource, TLookup>(Expression<Func<TSource, object>> sourcecolumn, Expression<Func<TLookup, object>> lookupcolumn,
         public void AddLookupTable<TSource, TLookup>(Expression<Func<TSource, object>> sourcecolumn, Expression<Func<TLookup, object>> lookupcolumn,
-            Filter<TLookup>? filter = null, Columns<TLookup>? columns = null, bool isdefault = false, string? sourcealias = null,
+            Filter<TLookup>? filter = null, Columns<TLookup>? columns = null, SortOrder<TLookup>? sort = null, bool isdefault = false, string? sourcealias = null,
             string? lookupalias = null)
             string? lookupalias = null)
         {
         {
-            _dataModel.AddLookupTable(sourcecolumn, lookupcolumn, filter, columns, isdefault, sourcealias, lookupalias);
+            _dataModel.AddLookupTable(sourcecolumn, lookupcolumn, filter, columns, sort, isdefault, sourcealias, lookupalias);
         }
         }
 
 
         public CoreTable GetTable<TType>(string? alias = null)
         public CoreTable GetTable<TType>(string? alias = null)
@@ -169,10 +169,11 @@ namespace PRSServer
 
 
         public Filter<TType>? GetFilter<TType>(string? alias = null) => _dataModel.GetFilter<TType>(alias);
         public Filter<TType>? GetFilter<TType>(string? alias = null) => _dataModel.GetFilter<TType>(alias);
         public Columns<TType>? GetColumns<TType>(string? alias = null) => _dataModel.GetColumns<TType>(alias);
         public Columns<TType>? GetColumns<TType>(string? alias = null) => _dataModel.GetColumns<TType>(alias);
+        public SortOrder<TType>? GetSortOrder<TType>(string? alias = null) => _dataModel.GetSortOrder<TType>(alias);
 
 
         public void SetFilter<TType>(Filter<TType>? filter, string? alias = null) => _dataModel.SetFilter(filter, alias);
         public void SetFilter<TType>(Filter<TType>? filter, string? alias = null) => _dataModel.SetFilter(filter, alias);
-
         public void SetColumns<TType>(Columns<TType>? columns, string? alias = null) => _dataModel.SetColumns(columns, alias);
         public void SetColumns<TType>(Columns<TType>? columns, string? alias = null) => _dataModel.SetColumns(columns, alias);
+        public void SetSortOrder<TType>(SortOrder<TType>? columns, string? alias = null) => _dataModel.SetSortOrder(columns, alias);
 
 
         public void SetIsDefault<TType>(bool isDefault, string? alias = null) => _dataModel.SetIsDefault<TType>(isDefault, alias);
         public void SetIsDefault<TType>(bool isDefault, string? alias = null) => _dataModel.SetIsDefault<TType>(isDefault, alias);
 
 

+ 1 - 0
prs.shared/Posters/Timberline/TimesheetTimberlinePoster.cs

@@ -336,6 +336,7 @@ public class Module
             model.AddTable<Activity>(
             model.AddTable<Activity>(
                 null,
                 null,
                 Columns.None<Activity>().Add(x => x.ID).Add(x => x.Code).Add(x => x.PayrollID).Add(x => x.IsLeave),
                 Columns.None<Activity>().Add(x => x.ID).Add(x => x.Code).Add(x => x.PayrollID).Add(x => x.IsLeave),
+                null, 
                 isdefault: true);
                 isdefault: true);
             // Grab every employee on the listed timesheets, that have a PayrollID.
             // Grab every employee on the listed timesheets, that have a PayrollID.
             model.AddLookupTable<TimeSheet, Employee>(x => x.EmployeeLink.ID, x => x.ID,
             model.AddLookupTable<TimeSheet, Employee>(x => x.EmployeeLink.ID, x => x.ID,