瀏覽代碼

Updated some masterdetailcontrols to be a bit better

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

+ 2 - 2
prs.desktop/Panels/Jobs/Equipment/JobTrackerGrid.cs

@@ -12,8 +12,8 @@ namespace PRSDesktop
     public class JobTrackerGrid : DynamicDataGrid<JobTracker>, IMasterDetailControl<Job, JobTracker>, IDataModelSource
     {
         public Job? Master { get; set; }
-        
-        public Filter<JobTracker> MasterDetailFilter => Master != null
+
+        public Filter<JobTracker> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<JobTracker>(x => x.JobLink.ID).IsEqualTo(Master.ID)
             : new Filter<JobTracker>().None();
         

+ 1 - 1
prs.desktop/Panels/Quotes/Contracts/QuoteContractGrid.cs

@@ -10,7 +10,7 @@ namespace PRSDesktop
     {
         public Quote? Master { get; set; }
 
-        public Filter<QuoteContract> MasterDetailFilter => Master != null
+        public Filter<QuoteContract> MasterDetailFilter => Master != null & Master.ID != Guid.Empty
             ? new Filter<QuoteContract>(x => x.Quote.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteContract>().None();
         

+ 1 - 1
prs.desktop/Panels/Quotes/Contracts/QuoteContractProposalGrid.cs

@@ -12,7 +12,7 @@ public class QuoteContractProposalGrid : DynamicDataGrid<QuoteContractProposal>,
     
     public QuoteContract? Master { get; set; }
 
-    public Filter<QuoteContractProposal> MasterDetailFilter => Master != null
+    public Filter<QuoteContractProposal> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
         ? new Filter<QuoteContractProposal>(x => x.Contract.ID).IsEqualTo(Master.ID)
         : new Filter<QuoteContractProposal>().None();
     

+ 1 - 1
prs.desktop/Panels/Quotes/Cost Sheets/QuoteCostSheetItemGrid.cs

@@ -17,7 +17,7 @@ namespace PRSDesktop
     {
         public QuoteCostSheet? Master { get; set; }
 
-        public Filter<QuoteCostSheetItem> MasterDetailFilter => Master != null
+        public Filter<QuoteCostSheetItem> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteCostSheetItem>(x => x.CostSheet.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteCostSheetItem>().None();
 

+ 2 - 3
prs.desktop/Panels/Quotes/Cost Sheets/QuoteCostSheetsGrid.cs

@@ -13,7 +13,7 @@ namespace PRSDesktop
         
         public Quote? Master { get; set; }
 
-        public Filter<QuoteCostSheet> MasterDetailFilter => Master != null
+        public Filter<QuoteCostSheet> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteCostSheet>(x => x.Quote.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteCostSheet>().None();
         
@@ -21,7 +21,6 @@ namespace PRSDesktop
         {
             OnCustomiseEditor += CustomiseEditor;
             HiddenColumns.Add(x => x.CostSheet.ID);
-            HiddenColumns.Add(x => x.CostSheet.Deleted);
         }
         protected override void DoReconfigure(FluentList<DynamicGridOption> options)
         {
@@ -43,7 +42,7 @@ namespace PRSDesktop
                 editor.Editable = items?.FirstOrDefault()?.CostSheet.IsValid() != true ? Editable.Enabled : Editable.Disabled;
         }
 
-        protected override void Reload(Filters<QuoteCostSheet> criteria, Columns<QuoteCostSheet> columns, ref SortOrder<QuoteCostSheet> sort,
+        protected override void Reload(Filters<QuoteCostSheet> criteria, Columns<QuoteCostSheet> columns, ref SortOrder<QuoteCostSheet>? sort,
             Action<CoreTable?, Exception?> action)
         {
             criteria.Add(MasterDetailFilter);

+ 1 - 1
prs.desktop/Panels/Quotes/Designs/QuoteDesignGrid.cs

@@ -17,7 +17,7 @@ namespace PRSDesktop
 
         public Quote? Master { get; set; }
 
-        public Filter<QuoteDesign> MasterDetailFilter => Master != null
+        public Filter<QuoteDesign> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteDesign>(x => x.Quote.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteDesign>().None();
 

+ 1 - 1
prs.desktop/Panels/Quotes/Designs/QuoteDesignItemGrid.cs

@@ -12,7 +12,7 @@ public class QuoteDesignItemGrid : DynamicDataGrid<QuoteDesignItem>, IMasterDeta
     
     public QuoteDesign? Master { get; set; }
 
-    public Filter<QuoteDesignItem> MasterDetailFilter => Master != null
+    public Filter<QuoteDesignItem> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
         ? new Filter<QuoteDesignItem>(x => x.Design.ID).IsEqualTo(Master.ID)
         : new Filter<QuoteDesignItem>().None();
     

+ 1 - 1
prs.desktop/Panels/Quotes/Details/QuoteDetails.xaml.cs

@@ -18,7 +18,7 @@ namespace PRSDesktop
     {
         public Quote? Master { get; set; }
 
-        public Filter<Quote> MasterDetailFilter => Master != null
+        public Filter<Quote> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<Quote>(x => x.ID).IsEqualTo(Master.ID)
             : new Filter<Quote>().None();
 

+ 5 - 3
prs.desktop/Panels/Quotes/Documents/QuoteDocuments.cs

@@ -20,7 +20,7 @@ namespace PRSDesktop
         
         public Quote? Master { get; set; }
 
-        public Filter<QuoteDocument> MasterDetailFilter => Master != null
+        public Filter<QuoteDocument> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteDocument>(x => x.EntityLink.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteDocument>().None();
         
@@ -70,13 +70,15 @@ namespace PRSDesktop
             return true;
         }
 
-        private BitmapImage DocumentImage(CoreRow arg)
+        private BitmapImage DocumentImage(CoreRow? arg)
         {
             return PRSDesktop.Resources.view.AsBitmapImage();
         }
 
-        private bool ViewDocument(CoreRow row)
+        private bool ViewDocument(CoreRow? row)
         {
+            if (row is null) return false;
+
             var filename = row.Get<QuoteDocument, string>(x => x.DocumentLink.FileName);
             if (Path.GetExtension(filename).ToUpper().Equals(".PDF"))
             {

+ 1 - 1
prs.desktop/Panels/Quotes/Proposals/QuoteProposalGrid.cs

@@ -11,7 +11,7 @@ namespace PRSDesktop
         
         public Quote? Master { get; set; }
 
-        public Filter<QuoteProposal> MasterDetailFilter => Master != null
+        public Filter<QuoteProposal> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteProposal>(x => x.Quote.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteProposal>().None();
         

+ 1 - 1
prs.desktop/Panels/Quotes/Takeoffs/QuoteTakeoffs.cs

@@ -12,7 +12,7 @@ namespace PRSDesktop
         
         public Quote? Master { get; set; }
 
-        public Filter<QuoteTakeoff> MasterDetailFilter => Master != null
+        public Filter<QuoteTakeoff> MasterDetailFilter => Master != null && Master.ID != Guid.Empty
             ? new Filter<QuoteTakeoff>(x => x.Quote.ID).IsEqualTo(Master.ID)
             : new Filter<QuoteTakeoff>().None();
         

+ 0 - 2
prs.desktop/Panels/ReadyToGo/ReadyToGoGrid.cs

@@ -50,10 +50,8 @@ namespace PRSDesktop
 
             ActionColumns.Add(new DynamicImageColumn(SetoutImage, SetoutClick) { Position = DynamicActionColumnPosition.Start });
             HiddenColumns.Add(x => x.ManufacturingPacketLink.ID);
-            HiddenColumns.Add(x => x.ManufacturingPacketLink.Deleted);
             HiddenColumns.Add(x => x.ManufacturingPacketLink.WaterMark);
             HiddenColumns.Add(x => x.ManufacturingPacketLink.SetoutLink.ID);
-            HiddenColumns.Add(x => x.ManufacturingPacketLink.SetoutLink.Deleted);
             HiddenColumns.Add(x => x.ManufacturingPacketLink.ManufacturingTemplateLink.Factory.Name);
         }