35 lines
1.3 KiB
C#
35 lines
1.3 KiB
C#
using FruitBank.Common.Entities;
|
|
|
|
namespace FruitBank.Common.Helpers;
|
|
|
|
public static class MeasuringValuesHelper
|
|
{
|
|
public static void SetShippingItemTotalMeasuringValues(ShippingItem? shippingItem)
|
|
{
|
|
if (shippingItem == null) return;
|
|
|
|
var totalMeasuringValues = GetTotalNetAndGrossWeightFromPallets(shippingItem);
|
|
|
|
shippingItem.MeasuredQuantity = totalMeasuringValues.TotalQuantity;
|
|
shippingItem.MeasuredNetWeight = totalMeasuringValues.TotalNetWeight;
|
|
shippingItem.MeasuredGrossWeight = totalMeasuringValues.TotalGrossWeight;
|
|
}
|
|
|
|
public static (int TotalQuantity, double TotalNetWeight, double TotalGrossWeight) GetTotalNetAndGrossWeightFromPallets(ShippingItem? shippingItem)
|
|
{
|
|
if (shippingItem?.ShippingItemPallets == null) return (0, 0d, 0d);
|
|
|
|
var totalQuantity = 0;
|
|
var totalNetWeight = 0d;
|
|
var totalGrossWeight = 0d;
|
|
|
|
foreach (var shippingItemPallet in shippingItem.ShippingItemPallets)
|
|
{
|
|
totalQuantity += shippingItemPallet.TrayQuantity;
|
|
totalNetWeight += shippingItemPallet.NetWeight;
|
|
totalGrossWeight += shippingItemPallet.GrossWeight;
|
|
}
|
|
|
|
return (totalQuantity, double.Round(totalNetWeight, 1), Math.Round(totalGrossWeight, 1));
|
|
}
|
|
} |