Browse Source

Merge commit '48d8b2da8d1e32e17399dc2480af24ffd859f2cc' into Rpc

Frank van den Bos 2 years ago
parent
commit
fa00635c2d

+ 1 - 0
prs.desktop/PRSDesktop.csproj

@@ -824,6 +824,7 @@
       <PackageReference Include="Syncfusion.Themes.Office2019White.WPF" Version="20.2.0.46" />
       <PackageReference Include="Syncfusion.Themes.SystemTheme.WPF" Version="20.2.0.46" />
       <PackageReference Include="Syncfusion.Tools.WPF" Version="20.2.0.46" />
+      <PackageReference Include="System.Collections.Immutable" Version="7.0.0" />
       <PackageReference Include="System.IO.Ports" Version="6.0.0" />
       <PackageReference Include="WindowsShortcutFactory" Version="1.1.0" />
     </ItemGroup>

+ 18 - 3
prs.desktop/Panels/Shipments/ShippingPanel.xaml.cs

@@ -306,7 +306,11 @@ namespace PRSDesktop
                 Shipment = null;
                 Requi = null;
 
-                var row = CheckShipment(code);
+                var row = CheckShipmentLocalCache(code);
+
+                if (row == null)                
+                    row = CheckShipmentOnServer(code);
+                
                 if (row != null)
                 {
                     Shipments.ScrollIntoView(row);
@@ -360,8 +364,7 @@ namespace PRSDesktop
             }
         }
 
-
-        private CoreRow CheckShipment(string code)
+        private CoreRow CheckShipmentLocalCache(string code)
         {
             var row = Shipments.MasterData.Rows.FirstOrDefault(r => r.Get<Shipment, string>(c => c.BarCode).Equals(code));
             if (row != null)
@@ -369,6 +372,18 @@ namespace PRSDesktop
             return null;
         }
 
+        private CoreRow? CheckShipmentOnServer(string code)
+        {
+            var row = new Client<Shipment>().Query(new Filter<Shipment>(x => x.BarCode).IsEqualTo(code))
+                .Rows.FirstOrDefault();
+            if (row != null)
+            {
+                Shipments.AddRow(row);
+                return row;
+            }             
+            return null;
+        }
+
         private DeliveryItem CheckItem(string code)
         {
             var row = ItemCache.Rows.FirstOrDefault(r => String.Equals(r.Get<DeliveryItem, string>(c => c.Barcode),code));

+ 1 - 0
prs.shared/PRS.Shared.csproj

@@ -45,6 +45,7 @@
 
   <ItemGroup>
     <PackageReference Include="RestSharp" Version="110.2.0" />
+    <PackageReference Include="System.Collections.Immutable" Version="7.0.0" />
   </ItemGroup>
 
 </Project>