Kenric Nugteren 2 місяців тому
батько
коміт
2287d4f3a0

+ 2 - 2
prs.desktop/Panels/Products/Locations/StockTakeWindow.xaml.cs

@@ -486,7 +486,7 @@ namespace PRSDesktop
         public decimal OriginalQty { get; set; } = 0;
 
         [DoubleEditor(Editable = Editable.Enabled)]
-        public decimal NewQty { get; set; } = 0.00000000000000000000001;
+        public decimal NewQty { get; set; } = 0;
 
         [NullEditor]
         public Guid ID { get; set; } = Guid.Empty;
@@ -529,7 +529,7 @@ namespace PRSDesktop
 
         public void ClearQty()
         {
-            NewQty = 0.00000000000000000000001;
+            NewQty = 0;
         }
     }
     #endregion

+ 1 - 1
prs.desktop/Panels/Products/Master List/ProductsGrid.cs

@@ -90,7 +90,7 @@ namespace PRSDesktop
                 if (strategy == ProductPricingStrategy.Standard)
                     foreach (var item in items)
                     {
-                        DynamicGridUtils.UpdateEditorValue(new[] { item }, "ComponentCost", 0.0F, result);
+                        DynamicGridUtils.UpdateEditorValue(new[] { item }, "ComponentCost", 0m, result);
                         var nettcost = Product.CalculateNettCost(strategy, item.BaseCost, item.ComponentCost);
                         DynamicGridUtils.UpdateEditorValue(new[] { item }, "NettCost", nettcost, result);
                     }

+ 2 - 2
prs.desktop/Panels/Quotes/Proposals/QuoteProposalDetails.xaml

@@ -40,13 +40,13 @@
             <Label Content="Manual Proposal Total (If Required)" Grid.Column="0" Margin="5,2,0,0" />         
             
             <Label Content="Ex Tax $" Grid.Column="1" Margin="2,2,0,0" />
-            <dynamicgrid:DoubleEditorControl x:Name="ExTax" Grid.Column="2" Margin="2,2,0,0" />
+            <dynamicgrid:DecimalEditorControl x:Name="ExTax" Grid.Column="2" Margin="2,2,0,0" />
 
             <Label Content="Tax Code" Grid.Column="3" Margin="2,2,0,0" />
             <dynamicgrid:LookupEditorControl x:Name="TaxCode" Grid.Column="4" />
 
             <Label Content="Inc Tax $" Grid.Column="5" Margin="2,2,0,0" />
-            <dynamicgrid:DoubleEditorControl x:Name="IncTax" Grid.Column="6" Margin="2,2,0,0" />
+            <dynamicgrid:DecimalEditorControl x:Name="IncTax" Grid.Column="6" Margin="2,2,0,0" />
 
         </Grid>
 

+ 7 - 7
prs.desktop/Panels/Quotes/Proposals/QuoteProposalDetails.xaml.cs

@@ -80,29 +80,29 @@ namespace PRSDesktop
             }
         }
 
-        private void Preamble_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object> values)
+        private void Preamble_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object?> values)
         {
             if (Master != null && !String.Equals(Master.Preamble,Preamble.Value))
             {
                 Master.Preamble = Preamble.Value;
-                new Client<QuoteProposal>().Save(Master, "", (p, e) => { });
+                Client.SaveAsync(Master, "").LogIfFail();
             }
         }
 
-        private void ExTax_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object> values)
+        private void ExTax_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object?> values)
         {
         }
 
-        private void IncTax_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object> values)
+        private void IncTax_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object?> values)
         {
         }
 
-        private void Summary_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object> values)
+        private void Summary_OnEditorValueChanged(IDynamicEditorControl sender, Dictionary<string, object?> values)
         {
-            if (Master != null && !String.Equals(Master.Summary,Summary.Value))
+            if (Master != null && !string.Equals(Master.Summary, Summary.Value))
             {
                 Master.Summary = Summary.Value;
-                new Client<QuoteProposal>().Save(Master, "", (p, e) => { });
+                Client.SaveAsync(Master, "").LogIfFail();
             }
         }
     }

+ 10 - 10
prs.shared/Editors/Dimensions/DimensionsEditorControl.cs

@@ -246,11 +246,11 @@ public class DimensionsEditorControl<TDimensions, TLink, TUnit> : DynamicEnclose
 
     protected override object? GetChildValue(string property)
     {
-        if (property == "Quantity") return QuantityBox.Value ?? 0.0;
-        if (property == "Length") return LengthBox.Value ?? 0.0;
-        if (property == "Width") return WidthBox.Value ?? 0.0;
-        if (property == "Height") return HeightBox.Value ?? 0.0;
-        if (property == "Weight") return WeightBox.Value ?? 0.0;
+        if (property == "Quantity") return Convert.ToDecimal(QuantityBox.Value ?? 0.0);
+        if (property == "Length") return Convert.ToDecimal(LengthBox.Value ?? 0.0);
+        if (property == "Width") return Convert.ToDecimal(WidthBox.Value ?? 0.0);
+        if (property == "Height") return Convert.ToDecimal(HeightBox.Value ?? 0.0);
+        if (property == "Weight") return Convert.ToDecimal(WeightBox.Value ?? 0.0);
         if (property == "Unit.ID") return Combo.SelectedValue is Guid guid ? guid : Guid.Empty;
         if (property == "UnitSize") return UnitSize.Text;
 
@@ -259,11 +259,11 @@ public class DimensionsEditorControl<TDimensions, TLink, TUnit> : DynamicEnclose
 
     protected override IEnumerable<KeyValuePair<string, object?>> GetChildValues()
     {
-        yield return new("Quantity", QuantityBox.Value ?? 0.0);
-        yield return new("Length", LengthBox.Value ?? 0.0);
-        yield return new("Width", WidthBox.Value ?? 0.0);
-        yield return new("Height", HeightBox.Value ?? 0.0);
-        yield return new("Weight", WeightBox.Value ?? 0.0);
+        yield return new("Quantity", Convert.ToDecimal(QuantityBox.Value ?? 0.0));
+        yield return new("Length", Convert.ToDecimal(LengthBox.Value ?? 0.0));
+        yield return new("Width", Convert.ToDecimal(WidthBox.Value ?? 0.0));
+        yield return new("Height", Convert.ToDecimal(HeightBox.Value ?? 0.0));
+        yield return new("Weight", Convert.ToDecimal(WeightBox.Value ?? 0.0));
         yield return new("Unit.ID", Combo.SelectedValue is Guid guid ? guid : Guid.Empty);
         yield return new("UnitSize", UnitSize.Text);
     }

+ 6 - 6
prs.shared/Editors/MinimumStock/MinimumStockEditorControl.cs

@@ -138,10 +138,10 @@ public class MinimumStockEditorControl : DynamicEnclosedEditorControl<ProductIns
         _usageDays.Value = _customUsage.IsChecked != true ? 0 : (_usageDays.Value ?? 0) > 0 ? _usageDays.Value : 30;
 
         _usageFactor.IsEnabled = enabled && _customUsage.IsChecked == true;
-        _usageFactor.Value = _customUsage.IsChecked != true ? 0 : (_usageFactor.Value ?? 0.0).IsEffectivelyGreaterThan(0.0) ? _usageFactor.Value : 1.0;
+        _usageFactor.Value = _customUsage.IsChecked != true ? 0 : (_usageFactor.Value ?? 0.0) > 0 ? _usageFactor.Value : 1.0;
         
         _stockFactor.IsEnabled = enabled && _customUsage.IsChecked == true;
-        _stockFactor.Value = _customUsage.IsChecked != true ? 0 : (_stockFactor.Value ?? 0.0).IsEffectivelyGreaterThan(0.0) ? _stockFactor.Value : 1.0;
+        _stockFactor.Value = _customUsage.IsChecked != true ? 0 : (_stockFactor.Value ?? 0.0) > 0 ? _stockFactor.Value : 1.0;
 
         _customStock.IsEnabled = enabled;
         
@@ -166,8 +166,8 @@ public class MinimumStockEditorControl : DynamicEnclosedEditorControl<ProductIns
     {
         yield return new(nameof(ProductInstanceMinimumStock.CustomUsage), _customUsage.IsChecked ?? false);
         yield return new(nameof(ProductInstanceMinimumStock.UsageDays), (int)(_usageDays.Value ?? 0L));
-        yield return new(nameof(ProductInstanceMinimumStock.UsageFactor), _usageFactor.Value ?? 0F);
-        yield return new(nameof(ProductInstanceMinimumStock.StockFactor), _stockFactor.Value ?? 0F);
+        yield return new(nameof(ProductInstanceMinimumStock.UsageFactor), Convert.ToDecimal(_usageFactor.Value ?? 0F));
+        yield return new(nameof(ProductInstanceMinimumStock.StockFactor), Convert.ToDecimal(_stockFactor.Value ?? 0F));
         yield return new(nameof(ProductInstanceMinimumStock.CustomStockLevel), _customStock.IsChecked ?? false);
         yield return new(nameof(ProductInstanceMinimumStock.StockLevel), (int)(_stockLevel.Value ?? 0L));
     }
@@ -179,9 +179,9 @@ public class MinimumStockEditorControl : DynamicEnclosedEditorControl<ProductIns
         if (string.Equals(property,nameof(ProductInstanceMinimumStock.UsageDays)))
             return (int)(_usageDays.Value ?? 0L);
         if (string.Equals(property,nameof(ProductInstanceMinimumStock.UsageFactor)))
-            return _usageFactor.Value ?? 0F;
+            return Convert.ToDecimal(_usageFactor.Value ?? 0F);
         if (string.Equals(property,nameof(ProductInstanceMinimumStock.StockFactor))) 
-            return _stockFactor.Value ?? 0F;
+            return Convert.ToDecimal(_stockFactor.Value ?? 0F);
         if (string.Equals(property,nameof(ProductInstanceMinimumStock.CustomStockLevel))) 
             return _customStock.IsChecked ?? false;
         if (string.Equals(property,nameof(ProductInstanceMinimumStock.StockLevel))) 

+ 3 - 3
prs.shared/Objects/LicenseRenewalRequest.cs

@@ -100,9 +100,9 @@ public class LicenseRenewalRequest : BaseObject
 
     public String[] Addresses { get; set; } = Array.Empty<String>();
 
-    public double Gross{ get; set; }
-    public double Discount { get; set; }
-    public double Net { get; set; }
+    public decimal Gross{ get; set; }
+    public decimal Discount { get; set; }
+    public decimal Net { get; set; }
 
     public string TransactionID { get; set; } = "";
 }

+ 2 - 2
prs.shared/Objects/LicenseTrackingItem.cs

@@ -20,11 +20,11 @@ namespace PRS.Shared
 
         [EditorSequence(3)]
         [CurrencyEditor]
-        public double Rate { get; set; }
+        public decimal Rate { get; set; }
 
         [EditorSequence(4)]
         [CurrencyEditor(Summary = Summary.Sum)]
-        public double ExGST => Users * Rate;
+        public decimal ExGST => Users * Rate;
 
         public LicenseTrackingItem()
         {

+ 2 - 2
prs.shared/Posters/Timberline/TimesheetTimberlinePoster.cs

@@ -231,7 +231,7 @@ namespace PRS.Shared
         public string Task { get; set; } = "";
 
         [Index(5)]
-        public double Hours { get; set; }
+        public decimal Hours { get; set; }
 
         [Index(6)]
         public string PayID { get; set; } = "";
@@ -734,7 +734,7 @@ public class Module
                         Job = first.Job.JobNumber,
                         Extra = "",
                         Task = group.Key.TaskID,
-                        Hours = Math.Round(group.Sum(x => x.Duration.TotalHours), 2),
+                        Hours = Math.Round(group.Sum(x => x.Duration.TotalHoursDecimal()), 2),
                         PayID = group.Key.PayrollID
                     };
                     var itemArgs = new ProcessItemArgs(model, key.Employee, key.Date, first.Job, item);