Просмотр исходного кода

Merge commit 'f8bc21bfd3b362423175dee0487110fad9ba6c96' into frank

Frank van den Bos 2 лет назад
Родитель
Сommit
7fb7b7b559

+ 6 - 0
prs.classes/Entities/Employee/EmployeeActivity.cs

@@ -25,6 +25,12 @@ namespace Comal.Classes
         public override Expression<Func<RoleActivity, Guid>> RightLink => x => x.Role.ID;
 
         public override bool Distinct => true;
+
+        public override Column<IEmployeeActivity>[] IDColumns => new Column<IEmployeeActivity>[]
+        {
+            new Column<IEmployeeActivity>(x => x.Employee.ID),
+            new Column<IEmployeeActivity>(x => x.Activity.ID)
+        };
     }
     
     [UserTracking(typeof(Employee))]

+ 6 - 0
prs.classes/Entities/Employee/EmployeeDigitalForm.cs

@@ -25,6 +25,12 @@ namespace Comal.Classes
         public override Expression<Func<RoleForm, Guid>> RightLink => x => x.Role.ID;
 
         public override bool Distinct => true;
+
+        public override Column<IEmployeeDigitalForm>[] IDColumns => new Column<IEmployeeDigitalForm>[]
+        {
+            new Column<IEmployeeDigitalForm>(x => x.Employee.ID),
+            new Column<IEmployeeDigitalForm>(x => x.Form.ID)
+        };
     }
     
     [UserTracking(typeof(Employee))]

+ 6 - 0
prs.classes/Entities/Job/JobActivity.cs

@@ -81,6 +81,12 @@ namespace Comal.Classes
         }
 
         public override bool Distinct => true;
+
+        public override Column<IJobActivity>[] IDColumns => new Column<IJobActivity>[]
+        {
+            new Column<IJobActivity>(x => x.JobLink.ID),
+            new Column<IJobActivity>(x => x.ActivityLink.ID)
+        };
     }
 
     [AutoEntity(typeof(JobActivityAssignmentUnionGenerator))]

+ 13 - 0
prs.classes/Entities/Job/Materials/JobMaterials.cs

@@ -170,6 +170,19 @@ namespace Comal.Classes
         }
 
         public override bool Distinct => true;
+
+        public override Column<IJobMaterial>[] IDColumns => new Column<IJobMaterial>[]
+        {
+            new Column<IJobMaterial>(x => x.Job.ID),
+            new Column<IJobMaterial>(x => x.Product.ID),
+            new Column<IJobMaterial>(x => x.Style.ID),
+            new Column<IJobMaterial>(x => x.Dimensions.Unit.ID),
+            new Column<IJobMaterial>(x => x.Dimensions.Quantity),
+            new Column<IJobMaterial>(x => x.Dimensions.Length),
+            new Column<IJobMaterial>(x => x.Dimensions.Width),
+            new Column<IJobMaterial>(x => x.Dimensions.Height),
+            new Column<IJobMaterial>(x => x.Dimensions.Weight)
+        };
     }    
     
     

+ 6 - 0
prs.classes/Entities/LeaveRequest/EmployeeStandardLeave.cs

@@ -44,6 +44,12 @@ namespace Comal.Classes
         }
 
         public override bool Distinct => false;
+
+        public override Column<IEmployeeLeaveRequest>[] IDColumns => new Column<IEmployeeLeaveRequest>[]
+        {
+            new Column<IEmployeeLeaveRequest>(x => x.EmployeeLink.ID),
+            new Column<IEmployeeLeaveRequest>(x => x.StandardLeave.ID)
+        };
     }
     
     [AutoEntity(typeof(EmployeeStandardLeaveGenerator))]

+ 7 - 0
prs.classes/Entities/LeaveRequest/LeaveCalendar.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Threading;
 using InABox.Core;
 
 namespace Comal.Classes
@@ -13,6 +14,12 @@ namespace Comal.Classes
         }
 
         public override bool Distinct => false;
+
+        public override Column<IEmployeeLeaveRequest>[] IDColumns => new Column<IEmployeeLeaveRequest>[]
+        {
+            new Column<IEmployeeLeaveRequest>(x => x.EmployeeLink.ID),
+            new Column<IEmployeeLeaveRequest>(x => x.StandardLeave.ID)
+        };
     }
     
     [AutoEntity(typeof(LeaveCalendarGenerator))]

+ 1 - 0
prs.classes/Entities/Product/ProductDimensions/ProductDimensions.cs

@@ -7,6 +7,7 @@ namespace Comal.Classes
     {
         [EditorSequence(1)]
         [Caption("Sizing", IncludePath = false)]
+        [RequiredColumn]
         public override ProductDimensionUnitLink Unit { get; set; }
         
         [DoubleEditor(Visible = Visible.Hidden)]

+ 2 - 1
prs.classes/Entities/Product/ProductLink.cs

@@ -35,7 +35,8 @@ namespace Comal.Classes
         [NullEditor]
         [Obsolete("Replaced with Dimensions", false)]
         public ProductUOMLink Units { get; set; }
-        
+
+        [RequiredColumn]
         public ProductDimensions Dimensions { get; set; }
 
         public ProductGroupLink Group { get; set; }

+ 2 - 1
prs.classes/Entities/PurchaseOrder/PurchaseOrderItem.cs

@@ -51,6 +51,7 @@ namespace Comal.Classes
         
         [EntityRelationship(DeleteAction.SetNull)]
         [EditorSequence(1)]
+        [RequiredColumn]
         public ProductLink Product { get; set; }
 
         [EntityRelationship(DeleteAction.SetNull)]
@@ -224,7 +225,7 @@ namespace Comal.Classes
                 CoreUtils.SetPropertyValue(this, col, after);
                 if (size.IsEqualTo(name))
                     ExTax = Qty * (double)after * Cost;
-            }            
+            }
             
             else if (style.IsParentOf(name))
             {

+ 14 - 0
prs.classes/Entities/Stock/StockHolding.cs

@@ -134,6 +134,20 @@ namespace Comal.Classes
         }
 
         public override bool Distinct => true;
+
+        public override Column<IStockHolding>[] IDColumns => new Column<IStockHolding>[]
+        {
+            new Column<IStockHolding>(x => x.Job.ID),
+            new Column<IStockHolding>(x => x.Location.ID),
+            new Column<IStockHolding>(x => x.Product.ID),
+            new Column<IStockHolding>(x => x.Style.ID),
+            new Column<IStockHolding>(x => x.Dimensions.Unit.ID),
+            new Column<IStockHolding>(x => x.Dimensions.Quantity),
+            new Column<IStockHolding>(x => x.Dimensions.Length),
+            new Column<IStockHolding>(x => x.Dimensions.Width),
+            new Column<IStockHolding>(x => x.Dimensions.Height),
+            new Column<IStockHolding>(x => x.Dimensions.Weight),
+        };
     }
     
     [UserTracking(typeof(StockMovement))]

+ 0 - 2
prs.desktop/PRSDesktop.csproj

@@ -30,9 +30,7 @@
     
     
     <ItemGroup>
-        <None Remove="Dashboards\milestone.png" />
         <None Remove="Resources\001-box.png" />
-        <Resource Include="Dashboards\milestone.png" />
         <Resource Include="Resources\001-box.png">
             <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
         </Resource>

+ 1 - 1
prs.desktop/prsdesktop.iss

@@ -5,7 +5,7 @@
 #pragma verboselevel 9
 
 #define MyAppName "PRS Desktop"
-#define MyAppVersion "6.41"
+#define MyAppVersion "6.42"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSDesktop.exe"

+ 14 - 7
prs.server/Engines/Certificate/CertificateEngine.cs

@@ -223,15 +223,22 @@ namespace PRSServer
 
         private void DoTheWork()
         {
-            Logger.Send(LogType.Information, "", "** DOING WORKING *****************************************");
-            Logger.Send(LogType.Information, "", $"DNS Names:  {Properties.DomainNames}");
+            try
+            {
+                Logger.Send(LogType.Information, "", "** DOING WORKING *****************************************");
+                Logger.Send(LogType.Information, "", $"DNS Names:  {Properties.DomainNames}");
 
-            var acmeUrl = new Uri(Properties.CaUrl);
-            using var acme = new AcmeProtocolClient(acmeUrl, usePostAsGet: true);
+                var acmeUrl = new Uri(Properties.CaUrl);
+                using var acme = new AcmeProtocolClient(acmeUrl, usePostAsGet: true);
 
-            ClearAuthorizations(acme).Wait();
-            var task = DoTheWorkAsync(acme);
-            task.Wait();
+                ClearAuthorizations(acme).Wait();
+                var task = DoTheWorkAsync(acme);
+                task.Wait();
+            }
+            catch(Exception e)
+            {
+                Logger.Send(LogType.Error, "", CoreUtils.FormatException(e));
+            }
         }
 
         private async Task ClearAuthorizations(AcmeProtocolClient acme)

+ 1 - 1
prs.server/PRSServer.iss

@@ -5,7 +5,7 @@
 #pragma verboselevel 9
 
 #define MyAppName "PRS Server"
-#define MyAppVersion "6.41"
+#define MyAppVersion "6.42"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSServer.exe"