Browse Source

Added Form Number Sort Order to Digital Form Instances
Fixed Selection Issue in Completed Digiatl Forms

frogsoftware 1 year ago
parent
commit
a6c7f89679

+ 2 - 2
prs.classes/ComalUtils.cs

@@ -26,10 +26,10 @@ namespace Comal.Classes
             LookupFactory.RegisterLookupGenerator<JobITPForm, DigitalForm, DigitalFormLink, DigitalFormJobITPFormLookup>(x => x.Form);
             LookupFactory.RegisterChildGenerator<LeaveRequest, DigitalForm, DigitalFormLeaveRequestLookup>();
             LookupFactory.RegisterLookupGenerator<LeaveRequestForm, DigitalForm, DigitalFormLink, DigitalFormLeaveRequestFormLookup>(x => x.Form);
-            LookupFactory.RegisterLookupGenerator<PurchaseOrderItemForm, DigitalForm, DigitalFormLink, PurchaseOrderItemFormLookups>(x => x.Form);
+            LookupFactory.RegisterLookupGenerator<PurchaseOrderItemForm, DigitalForm, DigitalFormLink, DigitalFormPurchaseOrderItemFormLookups>(x => x.Form);
             LookupFactory.RegisterChildGenerator<TimeSheet, DigitalForm, DigitalFormTimeSheetLookup>();
             LookupFactory.RegisterLookupGenerator<TimeSheetForm, DigitalForm, DigitalFormLink, DigitalFormTimeSheetFormLookup>(x => x.Form);
-
+            
             //LicenseUtils.Reset();
 
             /*LicenseUtils.SetLicenseFee<CoreLicense>(7.99);

+ 1 - 0
prs.classes/Entities/Assignment/AssignmentForm.cs

@@ -8,4 +8,5 @@ namespace Comal.Classes
     {
         public override string AutoIncrementPrefix() => "AF";
     }
+    
 }

+ 3 - 0
prs.classes/Entities/Assignment/AssignmentFormLookups.cs

@@ -23,6 +23,7 @@ namespace Comal.Classes
         public override Columns<Assignment> DefineFilterColumns()
             => new Columns<Assignment>(x => x.EmployeeLink.ID);
     }
+    
     public class DigitalFormAssignmentFormLookup : LookupDefinitionGenerator<DigitalForm, AssignmentForm>
     {
         public override Filter<DigitalForm> DefineFilter(AssignmentForm[] items)
@@ -33,4 +34,6 @@ namespace Comal.Classes
         public override Columns<AssignmentForm> DefineFilterColumns()
             => new Columns<AssignmentForm>();
     }
+
+    public class AssignmentFormLookups : DigitalFormInstanceLookups<Assignment,AssignmentLink,AssignmentForm> { }
 }

+ 6 - 0
prs.classes/Entities/DeliveryItem/DeliveryFormLookups.cs

@@ -0,0 +1,6 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class DeliveryFormLookups : DigitalFormInstanceLookups<Delivery,DeliveryLink,DeliveryForm> { }
+}

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

@@ -0,0 +1,6 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class EmployeeFormLookups : DigitalFormInstanceLookups<Employee,EmployeeLink,EmployeeForm> { }
+}

+ 6 - 0
prs.classes/Entities/Job/DocumentSet/JobDocumentSetMileStoneFormLookups.cs

@@ -0,0 +1,6 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class JobDocumentSetMileStoneFormLookups : DigitalFormInstanceLookups<JobDocumentSetMileStone, JobDocumentSetMileStoneLink, JobDocumentSetMileStoneForm> { }
+}

+ 6 - 0
prs.classes/Entities/Job/ITP/JobITPFormLookups.cs

@@ -0,0 +1,6 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class JobITPFormLookups : DigitalFormInstanceLookups<JobITP,JobITPLink,JobITPForm> { }
+}

+ 4 - 2
prs.classes/Entities/Job/JobFormLookups.cs

@@ -4,6 +4,8 @@ using InABox.Core;
 
 namespace Comal.Classes
 {
+    public class JobFormLookups : DigitalFormInstanceLookups<Job,JobLink,JobForm> { }
+
     public class DigitalFormJobLookup : LookupDefinitionGenerator<DigitalForm, Job>
     {
         public override Filter<DigitalForm> DefineFilter(Job[] items)
@@ -21,12 +23,12 @@ namespace Comal.Classes
         {
             if (items == null || items.Length != 1)
                 return new Filter<DigitalForm>(x => x.ID).IsEqualTo(CoreUtils.FullGuid);
-            return new Filter<DigitalForm>(x => x.ID).InQuery(new Filter<JobFormDefinition>(x => x.Job.ID).IsEqualTo(items.First().Parent.ID),
+            return new Filter<DigitalForm>(x => x.ID).InQuery(
+                new Filter<JobFormDefinition>(x => x.Job.ID).IsEqualTo(items.First().Parent.ID),
                 x => x.Form.ID);
         }
 
         public override Columns<JobForm> DefineFilterColumns()
             => new Columns<JobForm>(x => x.Parent.ID);
-
     }
 }

+ 5 - 2
prs.classes/Entities/Kanban/KanbanFormLookups.cs

@@ -4,11 +4,15 @@ using System.Linq;
 
 namespace Comal.Classes
 {
+    public class KanbanFormLookups : DigitalFormInstanceLookups<Kanban, KanbanLink, KanbanForm> { }
+
     public class DigitalFormKanbanLookup : LookupDefinitionGenerator<DigitalForm, Kanban>
     {
         public override Filter<DigitalForm> DefineFilter(Kanban[] items)
         {
-            var filter = LookupFactory.DefineLookupFilter<KanbanForm, DigitalForm, DigitalFormLink>(x => x.Form, Array.Empty<KanbanForm>())
+            var filter =
+                LookupFactory.DefineLookupFilter<KanbanForm, DigitalForm, DigitalFormLink>(x => x.Form,
+                    Array.Empty<KanbanForm>())
                 ?? new Filter<DigitalForm>().All();
 
             foreach (var kanban in items)
@@ -34,6 +38,5 @@ namespace Comal.Classes
 
         public override Columns<KanbanForm> DefineFilterColumns()
             => new Columns<KanbanForm>();
-
     }
 }

+ 7 - 3
prs.classes/Entities/LeaveRequest/LeaveRequestFormLookups.cs

@@ -3,11 +3,15 @@ using System;
 
 namespace Comal.Classes
 {
+    public class LeaveRequestFormLookups : DigitalFormInstanceLookups<LeaveRequest, LeaveRequestLink, LeaveRequestForm> { }
+
     public class DigitalFormLeaveRequestLookup : LookupDefinitionGenerator<DigitalForm, LeaveRequest>
     {
         public override Filter<DigitalForm> DefineFilter(LeaveRequest[] items)
         {
-            var filter = LookupFactory.DefineLookupFilter<LeaveRequestForm, DigitalForm, DigitalFormLink>(x => x.Form, Array.Empty<LeaveRequestForm>())
+            var filter =
+                LookupFactory.DefineLookupFilter<LeaveRequestForm, DigitalForm, DigitalFormLink>(x => x.Form,
+                    Array.Empty<LeaveRequestForm>())
                 ?? new Filter<DigitalForm>().All();
 
             foreach (var leaveRequest in items)
@@ -28,11 +32,11 @@ namespace Comal.Classes
     {
         public override Filter<DigitalForm> DefineFilter(LeaveRequestForm[] items)
         {
-            return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo).IsEqualTo("LeaveRequest");
+            return new Filter<DigitalForm>(x => x.Active).IsEqualTo(true).And(x => x.AppliesTo)
+                .IsEqualTo("LeaveRequest");
         }
 
         public override Columns<LeaveRequestForm> DefineFilterColumns()
             => new Columns<LeaveRequestForm>();
-
     }
 }

+ 1 - 1
prs.classes/Entities/PurchaseOrder/PurchaseOrderItemForm.cs

@@ -7,7 +7,7 @@ namespace Comal.Classes
         public override string AutoIncrementPrefix() => "PF";
     }
 
-    public class PurchaseOrderItemFormLookups : LookupDefinitionGenerator<DigitalForm, PurchaseOrderItemForm>
+    public class DigitalFormPurchaseOrderItemFormLookups : LookupDefinitionGenerator<DigitalForm, PurchaseOrderItemForm>
     {
         public override Filter<DigitalForm> DefineFilter(PurchaseOrderItemForm[] items)
         {

+ 6 - 0
prs.classes/Entities/PurchaseOrder/PurchaseOrderItemFormLookups.cs

@@ -0,0 +1,6 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class PurchaseOrderItemFormLookups : DigitalFormInstanceLookups<PurchaseOrderItem, PurchaseOrderItemLink, PurchaseOrderItemForm> { }
+}

+ 5 - 2
prs.classes/Entities/Timesheet/TimeSheetFormLookups.cs

@@ -3,11 +3,15 @@ using System;
 
 namespace Comal.Classes
 {
+    public class TimeSheetFormLookups : DigitalFormInstanceLookups<TimeSheet, TimeSheetLink, TimeSheetForm> { }
+
     public class DigitalFormTimeSheetLookup : LookupDefinitionGenerator<DigitalForm, TimeSheet>
     {
         public override Filter<DigitalForm> DefineFilter(TimeSheet[] items)
         {
-            var filter = LookupFactory.DefineLookupFilter<TimeSheetForm, DigitalForm, DigitalFormLink>(x => x.Form, Array.Empty<TimeSheetForm>())
+            var filter =
+                LookupFactory.DefineLookupFilter<TimeSheetForm, DigitalForm, DigitalFormLink>(x => x.Form,
+                    Array.Empty<TimeSheetForm>())
                 ?? new Filter<DigitalForm>().All();
 
             foreach (var timeSheet in items)
@@ -33,6 +37,5 @@ namespace Comal.Classes
 
         public override Columns<TimeSheetForm> DefineFilterColumns()
             => new Columns<TimeSheetForm>();
-
     }
 }

+ 10 - 4
prs.desktop/Dashboards/Common/DigitalFormsDashboard.xaml.cs

@@ -1414,10 +1414,16 @@ namespace PRSDesktop
                 return;
             var rowOffset = -2;
 
-            var table = (DataGrid.ItemsSource as DataTable)!;
-            var formid = (Guid)table.Rows[e.RowColumnIndex.RowIndex + rowOffset]["Form_ID"];
-            var formdata = (string)table.Rows[e.RowColumnIndex.RowIndex + rowOffset]["FormData"];
-            var id = (Guid)table.Rows[e.RowColumnIndex.RowIndex + rowOffset]["ID"];
+            //var table = (DataGrid.ItemsSource as DataTable)!;
+            var row = (e.Record as DataRowView)?.Row;
+            if (row == null)
+            {
+                MessageBox.Show($"Unexpected Record type ({e.Record?.GetType().EntityName() ?? "NULL"}");
+                return;
+            }
+            var formid = (Guid)row["Form_ID"];
+            var formdata = (string)row["FormData"];
+            var id = (Guid)row["ID"];
 
             if (FormType is null) return;
 

+ 1 - 1
prs.desktop/prsdesktop.iss

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

+ 1 - 1
prs.licensing/PRSLicensing.iss

@@ -5,7 +5,7 @@
 #pragma verboselevel 9
 
 #define MyAppName "PRS Licensing"
-#define MyAppVersion "7.62"
+#define MyAppVersion "7.63"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSLicensing.exe"

+ 1 - 1
prs.server/PRSServer.iss

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