Explorar el Código

Fixed formatting of numbers on ReservationmanagementHoldingsGrid

Kenric Nugteren hace 3 semanas
padre
commit
e7e23ca7aa

+ 3 - 3
prs.desktop/Panels/Reservation Management/Holdings/ReservationManagementHoldingsGrid.xaml

@@ -89,7 +89,7 @@
                                 <Setter Property="BorderBrush" Value="Transparent"/>
                                 <Style.Triggers>
                                     <DataTrigger Binding="{Binding CurrentStylePositive}" Value="True">
-                                        <Setter Property="Content" Value="{Binding UnitsOfCurrentStyle, StringFormat=N0}"/>
+                                        <Setter Property="Content" Value="{Binding UnitsOfCurrentStyle, Converter={x:Static local:ReservationManagementHoldingsGrid.QuantityConverter}}"/>
                                         <Setter Property="Background" Value="WhiteSmoke"/>
                                         <Setter Property="BorderBrush" Value="#707070"/>
                                     </DataTrigger>
@@ -140,7 +140,7 @@
                                     <DataTrigger Binding="{Binding NoStylePositive}" Value="True">
                                         <Setter Property="Background" Value="WhiteSmoke"/>
                                         <Setter Property="BorderBrush" Value="#707070"/>
-                                        <Setter Property="Content" Value="{Binding UnitsOfNoStyle, StringFormat=N0}"/>
+                                        <Setter Property="Content" Value="{Binding UnitsOfNoStyle, Converter={x:Static local:ReservationManagementHoldingsGrid.QuantityConverter}}"/>
                                     </DataTrigger>
                                     <MultiDataTrigger>
                                         <MultiDataTrigger.Conditions>
@@ -189,7 +189,7 @@
                                     <DataTrigger Binding="{Binding OtherStylesPositive}" Value="True">
                                         <Setter Property="Background" Value="WhiteSmoke"/>
                                         <Setter Property="BorderBrush" Value="#707070"/>
-                                        <Setter Property="Content" Value="{Binding UnitsOfOtherStyles, StringFormat=N0}"/>
+                                        <Setter Property="Content" Value="{Binding UnitsOfOtherStyles, Converter={x:Static local:ReservationManagementHoldingsGrid.QuantityConverter}}"/>
                                     </DataTrigger>
                                     <MultiDataTrigger>
                                         <MultiDataTrigger.Conditions>

+ 9 - 4
prs.desktop/Panels/Reservation Management/Holdings/ReservationManagementHoldingsGrid.xaml.cs

@@ -7,9 +7,12 @@ using PRSDimensionUtils;
 using System;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
+using System.ComponentModel;
 using System.Linq;
+using System.Runtime.CompilerServices;
 using System.Windows;
 using System.Windows.Controls;
+using System.Windows.Data;
 
 namespace PRSDesktop;
 
@@ -17,8 +20,10 @@ public delegate void HoldingsReviewRefresh();
 /// <summary>
 /// Interaction logic for JobRequisitionHoldingsReview.xaml
 /// </summary>
-public partial class ReservationManagementHoldingsGrid
+public partial class ReservationManagementHoldingsGrid : INotifyPropertyChanged
 {
+    public static readonly IValueConverter QuantityConverter = new FuncConverter<double, string>(x => x != 0 && Math.Abs(x) < 1 ? "<1" : x.ToString("N0"));
+
     private ProductStyleLink companyDefaultStyle = new ProductStyleLink();
     public ProductStyleLink CompanyDefaultStyle
     {
@@ -115,9 +120,9 @@ public partial class ReservationManagementHoldingsGrid
                 model.StockOfOtherStyles.AddRange(styleItems);
             }
         }
-        model.UnitsOfCurrentStyle = Math.Round(model.StockOfCurrentStyle.Sum(units));
-        model.UnitsOfNoStyle = Math.Round(model.StockOfNoStyle.Sum(units));
-        model.UnitsOfOtherStyles = Math.Round(model.StockOfOtherStyles.Sum(units));
+        model.UnitsOfCurrentStyle = model.StockOfCurrentStyle.Sum(units);
+        model.UnitsOfNoStyle = model.StockOfNoStyle.Sum(units);
+        model.UnitsOfOtherStyles = model.StockOfOtherStyles.Sum(units);
     }
 
     private void CalculateHoldings()