diff --git a/FruitBank.Common/Entities/MeasuringItemPalletBase.cs b/FruitBank.Common/Entities/MeasuringItemPalletBase.cs
new file mode 100644
index 0000000..354ed95
--- /dev/null
+++ b/FruitBank.Common/Entities/MeasuringItemPalletBase.cs
@@ -0,0 +1,83 @@
+using FruitBank.Common.Interfaces;
+using LinqToDB;
+using LinqToDB.Mapping;
+using Mango.Nop.Core.Entities;
+
+namespace FruitBank.Common.Entities;
+
+public abstract class MeasuringItemPalletBase : MgEntityBase, IMeasuringItemPalletBase
+{
+ private double _palletWeight;
+ private double _grossWeight;
+ private double _tareWeight;
+
+ [NotColumn]
+ protected int ForeignItemId;
+
+ public int Quantity { get; set; }
+
+ [Column(DataType = DataType.DecFloat)]
+ public double TareWeight
+ {
+ get => _tareWeight;
+ set => _tareWeight = double.Round(value, 1);
+ }
+
+ [Column(DataType = DataType.DecFloat)]
+ public double PalletWeight
+ {
+ get => _palletWeight;
+ set => _palletWeight = double.Round(value, 1);
+ }
+
+ [NotColumn] public double NetWeight => CalculateNetWeight();
+
+ [Column(DataType = DataType.DecFloat, CanBeNull = false)]
+ public double GrossWeight
+ {
+ get => _grossWeight;
+ set => _grossWeight = double.Round(value, 1);
+ }
+
+ public bool IsMeasured { get; set; }
+
+ [SkipValuesOnUpdate]
+ public int? CreatorId { get; set; }
+ public int? ModifierId { get; set; }
+
+ [SkipValuesOnUpdate]
+ public DateTime Created { get; set; }
+ public DateTime Modified { get; set; }
+
+ public virtual double CalculateNetWeight() => double.Round(GrossWeight - PalletWeight - (TareWeight * Quantity), 1);
+
+ ///
+ /// Nem lehet nullánál kisebb "Weight" érték és a ShippingId, Quantity nagyobb mint nulla! Megengedőbb mint az IsValidMeasuringValues(bool isMeasurable)...
+ ///
+ ///
+ public virtual bool IsValidSafeMeasuringValues()
+ {
+ return Quantity > 0 && TareWeight >= 0 && PalletWeight >= 0 && NetWeight >= 0 && GrossWeight >= 0;
+ }
+
+ ///
+ /// "Szigorúbb" mint az IsValidSafeMeasuringValues()
+ ///
+ ///
+ ///
+ public virtual bool IsValidMeasuringValues(bool isMeasurable)
+ {
+ return Quantity > 0 && ((!isMeasurable && NetWeight == 0 && GrossWeight == 0 && PalletWeight == 0 && TareWeight == 0)
+ || (isMeasurable && NetWeight > 0 && GrossWeight > 0 && PalletWeight >= 0 && TareWeight >= 0));
+ }
+
+ public bool IsMeasuredAndValid(bool isMeasurable)
+ {
+ return Id > 0 && IsMeasured && IsValidMeasuringValues(isMeasurable);
+ }
+
+ public override string ToString()
+ {
+ return $"{base.ToString()} [ForeignItemId: {ForeignItemId}; IsMeasured: {IsMeasured}; PalletWeight: {PalletWeight}; TareWeight: {TareWeight}; Quantity: {Quantity}; NetWeight: {NetWeight}; GrossWeight: {GrossWeight}]";
+ }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Entities/OrderItemPallet.cs b/FruitBank.Common/Entities/OrderItemPallet.cs
new file mode 100644
index 0000000..44ba3ca
--- /dev/null
+++ b/FruitBank.Common/Entities/OrderItemPallet.cs
@@ -0,0 +1,36 @@
+using FruitBank.Common.Interfaces;
+using LinqToDB.Mapping;
+using Nop.Core.Domain.Orders;
+
+namespace FruitBank.Common.Entities;
+
+[Table(Name = FruitBankConstClient.OrderItemPalletDbTableName)]
+[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.OrderItemPalletDbTableName)]
+public class OrderItemPallet : MeasuringItemPalletBase, IOrderItemPallet
+{
+ public int OrderItemId
+ {
+ get => ForeignItemId;
+ set => ForeignItemId = value;
+ }
+
+ [LinqToDB.Mapping.Association(ThisKey = nameof(OrderItemId), OtherKey = nameof(OrderItem.Id), CanBeNull = true)]
+ public OrderItem? OrderItem { get; set; }
+
+ public override double CalculateNetWeight() => base.CalculateNetWeight();
+
+ public override bool IsValidSafeMeasuringValues()
+ {
+ return OrderItemId > 0 && base.IsValidSafeMeasuringValues();
+ }
+
+ ///
+ /// "Szigorúbb" mint az IsValidSafeMeasuringValues()
+ ///
+ ///
+ ///
+ public override bool IsValidMeasuringValues(bool isMeasurable)
+ {
+ return OrderItemId > 0 && base.IsValidMeasuringValues(isMeasurable);
+ }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Entities/ShippingItemPallet.cs b/FruitBank.Common/Entities/ShippingItemPallet.cs
index 213b33d..25a5642 100644
--- a/FruitBank.Common/Entities/ShippingItemPallet.cs
+++ b/FruitBank.Common/Entities/ShippingItemPallet.cs
@@ -1,66 +1,28 @@
using System.ComponentModel.DataAnnotations;
+using System.Security.Cryptography.X509Certificates;
using FruitBank.Common.Interfaces;
using LinqToDB.Mapping;
-using Mango.Nop.Core.Entities;
-using DataType = LinqToDB.DataType;
namespace FruitBank.Common.Entities;
[Table(Name = FruitBankConstClient.ShippingItemPalletDbTableName)]
[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.ShippingItemPalletDbTableName)]
-public class ShippingItemPallet : MgEntityBase, IShippingItemPallet
+public class ShippingItemPallet : MeasuringItemPalletBase, IShippingItemPallet
{
- private double _palletWeight;
- private double _grossWeight;
-
- public int ShippingItemId { get; set; }
-
- [Column(DataType = DataType.DecFloat)]
- public double PalletWeight
+ public int ShippingItemId
{
- get => _palletWeight;
- set => _palletWeight = double.Round(value, 1);
+ get => ForeignItemId;
+ set => ForeignItemId = value;
}
- //[Nullable]
- //[Column(CanBeNull = true)]
- [Range(1, 100000, ErrorMessage = "The Quantity value should be a number between 1 and 100,000.")]
- public int Quantity { get; set; }
-
- [NotColumn]
- //[Column(DataType = DataType.DecFloat, CanBeNull = false)]
- //[Range(1, 100000, ErrorMessage = "The NetWeight value should be a number between 1 and 100,000.")]
- public double NetWeight => double.Round(GrossWeight - PalletWeight, 1);
-
- //[Nullable]
- [Column(DataType = DataType.DecFloat, CanBeNull = false)]
- [Range(1, 100000, ErrorMessage = "The GrossWeight value should be a number between 1 and 100,000.")]
- public double GrossWeight
- {
- get => _grossWeight;
- set => _grossWeight = double.Round(value, 1);
- }
-
- public bool IsMeasured { get; set; }
-
[LinqToDB.Mapping.Association(ThisKey = nameof(ShippingItemId), OtherKey = nameof(ShippingItem.Id), CanBeNull = true)]
public ShippingItem? ShippingItem { get; set; }
- [SkipValuesOnUpdate]
- public int? CreatorId { get; set; }
- public int? ModifierId { get; set; }
+ public override double CalculateNetWeight() => base.CalculateNetWeight();
- [SkipValuesOnUpdate]
- public DateTime Created { get; set; }
- public DateTime Modified { get; set; }
-
- ///
- /// Nem lehet nullánál kisebb "Weight" érték és a ShippingId, Quantity nagyobb mint nulla! Megengedőbb mint az IsValidMeasuringValues(bool isMeasurable)...
- ///
- ///
- public bool IsValidSafeMeasuringValues()
+ public override bool IsValidSafeMeasuringValues()
{
- return ShippingItemId > 0 && Quantity > 0 && PalletWeight >= 0 && NetWeight >= 0 && GrossWeight >= 0;
+ return ShippingItemId > 0 && base.IsValidSafeMeasuringValues();
}
///
@@ -68,19 +30,8 @@ public class ShippingItemPallet : MgEntityBase, IShippingItemPallet
///
///
///
- public bool IsValidMeasuringValues(bool isMeasurable)
+ public override bool IsValidMeasuringValues(bool isMeasurable)
{
- return ShippingItemId > 0 && Quantity > 0 &&
- ((!isMeasurable && NetWeight == 0 && GrossWeight == 0 && PalletWeight == 0) || (isMeasurable && NetWeight > 0 && GrossWeight > 0 && PalletWeight >= 0));
- }
-
- public bool IsMeasuredAndValid(bool isMeasurable)
- {
- return Id > 0 && IsMeasured && IsValidMeasuringValues(isMeasurable);
- }
-
- public override string ToString()
- {
- return $"{base.ToString()} [ShippingItemId: {ShippingItemId}; IsMeasured: {IsMeasured}; PalletWeight: {PalletWeight}; Quantity: {Quantity}; NetWeight: {NetWeight}; GrossWeight: {GrossWeight}]";
+ return ShippingItemId > 0 && base.IsValidMeasuringValues(isMeasurable);
}
}
\ No newline at end of file
diff --git a/FruitBank.Common/FruitBankConstClient.cs b/FruitBank.Common/FruitBankConstClient.cs
index 3095ec2..2d5124f 100644
--- a/FruitBank.Common/FruitBankConstClient.cs
+++ b/FruitBank.Common/FruitBankConstClient.cs
@@ -18,6 +18,9 @@ public static class FruitBankConstClient
public const string PalletDbTableName = "fbPallet";
public const string FilesDbTableName = "fbFiles";
public const string PartnerDbTableName = "fbPartner";
+
+ public const string OrderItemPalletDbTableName = "fbOrderItemPallet";
+
public const string ShippingDbTableName = "fbShipping";
public const string ShippingItemDbTableName = "fbShippingItem";
public const string ShippingItemPalletDbTableName = "fbShippingItemPallet";
diff --git a/FruitBank.Common/Interfaces/IMeasurable.cs b/FruitBank.Common/Interfaces/IMeasurable.cs
new file mode 100644
index 0000000..d1cb598
--- /dev/null
+++ b/FruitBank.Common/Interfaces/IMeasurable.cs
@@ -0,0 +1,6 @@
+namespace FruitBank.Common.Interfaces;
+
+public interface IMeasurable
+{
+ bool IsMeasurable { get; set; }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Interfaces/IMeasured.cs b/FruitBank.Common/Interfaces/IMeasured.cs
new file mode 100644
index 0000000..b87db81
--- /dev/null
+++ b/FruitBank.Common/Interfaces/IMeasured.cs
@@ -0,0 +1,6 @@
+namespace FruitBank.Common.Interfaces;
+
+public interface IMeasured
+{
+ bool IsMeasured { get; set; }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Interfaces/IMeasuringAttributeValues.cs b/FruitBank.Common/Interfaces/IMeasuringAttributeValues.cs
index 0a7185c..64aa088 100644
--- a/FruitBank.Common/Interfaces/IMeasuringAttributeValues.cs
+++ b/FruitBank.Common/Interfaces/IMeasuringAttributeValues.cs
@@ -2,9 +2,7 @@
namespace FruitBank.Common.Interfaces;
-public interface IMeasuringAttributeValues : IMeasuringWeights, IEntityInt
+public interface IMeasuringAttributeValues : IEntityInt, IMeasuringWeights, IMeasurable
{
- bool IsMeasurable { get; set; }
-
bool HasMeasuringValues(); //=> Id > 0 && NetWeight != null && GrossWeight != null && IsMeasurable != null;
}
\ No newline at end of file
diff --git a/FruitBank.Common/Interfaces/IMeasuringItemPalletBase.cs b/FruitBank.Common/Interfaces/IMeasuringItemPalletBase.cs
new file mode 100644
index 0000000..d52911e
--- /dev/null
+++ b/FruitBank.Common/Interfaces/IMeasuringItemPalletBase.cs
@@ -0,0 +1,19 @@
+using AyCode.Interfaces.Entities;
+using AyCode.Interfaces.TimeStampInfo;
+using FruitBank.Common.Entities;
+
+namespace FruitBank.Common.Interfaces;
+
+public interface IMeasuringItemPalletBase : IEntityInt, IMeasuringQuantity, IMeasuringGrossWeight, IMeasured, ITimeStampInfo
+{
+ public double TareWeight { get; set; }
+ public double PalletWeight { get; set; }
+
+ public int? CreatorId { get; set; }
+ public int? ModifierId { get; set; }
+
+ public double CalculateNetWeight();
+
+ public bool IsValidSafeMeasuringValues();
+ public bool IsValidMeasuringValues(bool isMeasurable);
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Interfaces/IOrderItemPallet.cs b/FruitBank.Common/Interfaces/IOrderItemPallet.cs
new file mode 100644
index 0000000..42e50ed
--- /dev/null
+++ b/FruitBank.Common/Interfaces/IOrderItemPallet.cs
@@ -0,0 +1,10 @@
+using FruitBank.Common.Entities;
+using Nop.Core.Domain.Orders;
+
+namespace FruitBank.Common.Interfaces;
+
+public interface IOrderItemPallet : IMeasuringItemPalletBase
+{
+ int OrderItemId { get; set; }
+ public OrderItem? OrderItem { get; set; }
+}
\ No newline at end of file
diff --git a/FruitBank.Common/Interfaces/IShipping.cs b/FruitBank.Common/Interfaces/IShipping.cs
index 1448be9..25b1c56 100644
--- a/FruitBank.Common/Interfaces/IShipping.cs
+++ b/FruitBank.Common/Interfaces/IShipping.cs
@@ -4,7 +4,7 @@ using FruitBank.Common.Entities;
namespace FruitBank.Common.Interfaces;
-public interface IShipping : IEntityInt, ITimeStampInfo
+public interface IShipping : IEntityInt, ITimeStampInfo//, IMeasured
{
DateTime ShippingDate { get; set; }
string LicencePlate { get; set; }
diff --git a/FruitBank.Common/Interfaces/IShippingDocument.cs b/FruitBank.Common/Interfaces/IShippingDocument.cs
index 01cefa3..c1f26b7 100644
--- a/FruitBank.Common/Interfaces/IShippingDocument.cs
+++ b/FruitBank.Common/Interfaces/IShippingDocument.cs
@@ -4,7 +4,7 @@ using FruitBank.Common.Entities;
namespace FruitBank.Common.Interfaces;
-public interface IShippingDocument: IEntityInt, ITimeStampInfo
+public interface IShippingDocument: IEntityInt, ITimeStampInfo//, IMeasured
{
public int PartnerId { get; set; }
public int? ShippingId { get; set; }
diff --git a/FruitBank.Common/Interfaces/IShippingItem.cs b/FruitBank.Common/Interfaces/IShippingItem.cs
index 8910a63..c1a633e 100644
--- a/FruitBank.Common/Interfaces/IShippingItem.cs
+++ b/FruitBank.Common/Interfaces/IShippingItem.cs
@@ -5,7 +5,7 @@ using Nop.Core.Domain.Catalog;
namespace FruitBank.Common.Interfaces;
-public interface IShippingItem : IEntityInt, ITimeStampInfo
+public interface IShippingItem : IEntityInt, ITimeStampInfo, IMeasurable, IMeasured
{
int ShippingDocumentId { get; set; }
int? PalletId { get; set; }
@@ -24,9 +24,6 @@ public interface IShippingItem : IEntityInt, ITimeStampInfo
double MeasuredNetWeight { get; set; }
double MeasuredGrossWeight { get; set; }
- bool IsMeasurable { get; set; }
- bool IsMeasured { get; set; }
-
public Product? Product { get; set; }
public ShippingDocument? ShippingDocument { get; set; }
public List? ShippingItemPallets { get; set; }
diff --git a/FruitBank.Common/Interfaces/IShippingItemPallet.cs b/FruitBank.Common/Interfaces/IShippingItemPallet.cs
index 2baf0c9..ebbdae9 100644
--- a/FruitBank.Common/Interfaces/IShippingItemPallet.cs
+++ b/FruitBank.Common/Interfaces/IShippingItemPallet.cs
@@ -1,20 +1,9 @@
-using AyCode.Interfaces.Entities;
-using AyCode.Interfaces.TimeStampInfo;
-using FruitBank.Common.Entities;
+using FruitBank.Common.Entities;
namespace FruitBank.Common.Interfaces;
-public interface IShippingItemPallet : IEntityInt, IMeasuringGrossWeight, IMeasuringQuantity, ITimeStampInfo
+public interface IShippingItemPallet : IMeasuringItemPalletBase
{
int ShippingItemId { get; set; }
-
- public double PalletWeight { get; set; }
- public bool IsMeasured { get; set; }
-
public ShippingItem? ShippingItem { get; set; }
-
- public int? CreatorId { get; set; }
- public int? ModifierId { get; set; }
-
- public bool IsValidMeasuringValues(bool isMeasurable);
}
\ No newline at end of file
diff --git a/FruitBank.Common/SignalRs/SignalRTags.cs b/FruitBank.Common/SignalRs/SignalRTags.cs
index 92284a4..45e63dc 100644
--- a/FruitBank.Common/SignalRs/SignalRTags.cs
+++ b/FruitBank.Common/SignalRs/SignalRTags.cs
@@ -42,7 +42,8 @@ public class SignalRTags : AcSignalRTags
public const int AddShippingItemPallet = 95;
public const int UpdateShippingItemPallet = 96;
- public const int AddOrUpdateMeasuredShippingItemPallets = 97;
+ public const int AddOrUpdateMeasuredShippingItemPallet = 97;
+ public const int AddOrUpdateMeasuredShippingItemPallets = 98;
public const int AuthenticateUser = 160;
public const int RefreshToken = 200;
diff --git a/FruitBankHybrid.Shared.Tests/FruitBankClientTests.cs b/FruitBankHybrid.Shared.Tests/FruitBankClientTests.cs
index fe692f0..c9d1a4a 100644
--- a/FruitBankHybrid.Shared.Tests/FruitBankClientTests.cs
+++ b/FruitBankHybrid.Shared.Tests/FruitBankClientTests.cs
@@ -207,17 +207,17 @@ namespace FruitBankHybrid.Shared.Tests
}
[DataTestMethod]
- [DataRow(1, -1, -2.137563300001, -333.75238200001)]
- [DataRow(1, 1, 2.137563300001, 3.75238200001)]
- [DataRow(1, 1, 20.137563300001, 3.75238200001)]
- [DataRow(2, -1, -20.137563300001, 3.75238200001)]
- [DataRow(2, -1, 20.137563300001, 3.75238200001)]
- [DataRow(3, 1, 2.137563300001, 1.75238200001)]
- [DataRow(3, 1, 2.137563300001, 3.75238200001)]
- [DataRow(4, 13, 2.137563300001, 3.75238200001)]
- [DataRow(5, 1, 2.137563300001, 3.75238200001)]
- [DataRow(5, -1, 2.137563300001, 3.75238200001)]
- public async Task UpdateShippingItemTest(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight)
+ [DataRow(1, -1, -2.137563300001, -333.75238200001, 2.12545)]
+ [DataRow(1, 1, 2.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(1, 1, 20.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(2, -1, -20.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(2, -1, 20.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(3, 1, 2.137563300001, 1.75238200001, 2.12545)]
+ [DataRow(3, 1, 2.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(4, 13, 2.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(5, 1, 2.137563300001, 3.75238200001, 2.12545)]
+ [DataRow(5, -1, 2.137563300001, 3.75238200001, 2.12545)]
+ public async Task UpdateShippingItemTest(int shippingItemId, int incQuantity, double incPalletWeight, double incGrossWeight, double incTare)
{
var originalShippingItem = await GetShippingItemByIdAsync(shippingItemId);
var originalMeasuringProductDto = await GetMeasuringProductDtoByIdAsync(originalShippingItem.ProductId!.Value, originalShippingItem.IsMeasurable);
@@ -226,46 +226,58 @@ namespace FruitBankHybrid.Shared.Tests
var shippingItem = await GetShippingItemByIdAsync(shippingItemId);
- var shippingItemPallet = shippingItem.ShippingItemPallets!.FirstOrDefault();
+ var originalShippingItemPallet = shippingItem.ShippingItemPallets!.FirstOrDefault();
- if (shippingItemPallet == null)
+ if (originalShippingItemPallet == null)
{
- shippingItemPallet = new ShippingItemPallet { ShippingItemId = shippingItem.Id, PalletWeight = shippingItem.Pallet?.Weight ?? 0 };
- shippingItem.ShippingItemPallets!.Add(shippingItemPallet);
+ originalShippingItemPallet = new ShippingItemPallet { ShippingItemId = shippingItem.Id, PalletWeight = shippingItem.Pallet?.Weight ?? 0 };
+ shippingItem.ShippingItemPallets!.Add(originalShippingItemPallet);
}
- Assert.IsNotNull(shippingItemPallet);
+ Assert.IsNotNull(originalShippingItemPallet);
var nullResultIsValid = shippingItem.IsMeasured && !shippingItem.IsValidMeasuringValues();
nullResultIsValid = nullResultIsValid || shippingItem.ShippingItemPallets!.Any(x => !x.IsValidMeasuringValues(originalMeasuringProductDto.IsMeasurable));
nullResultIsValid = nullResultIsValid || shippingItem.ShippingItemPallets!.Any(x => !x.IsValidSafeMeasuringValues());
- shippingItemPallet.Quantity += incQuantity;
- shippingItemPallet.GrossWeight += incGrossWeight;
- shippingItemPallet.PalletWeight += incPalletWeight;
+ originalShippingItemPallet.Quantity += incQuantity;
+ originalShippingItemPallet.GrossWeight += incGrossWeight;
+ originalShippingItemPallet.PalletWeight += incPalletWeight;
+ originalShippingItemPallet.TareWeight += incTare;
- shippingItem = await _signalRClient.UpdateShippingItem(shippingItem);
+ //shippingItem = await _signalRClient.UpdateShippingItem(shippingItem);
+ var shippingItemPallet = await _signalRClient.UpdateShippingItemPallet(originalShippingItemPallet);
//A szerver oldal 0-ra állítja a shippingItemPallet weight-eket, ha nem mérhető! - J.
if (!originalMeasuringProductDto.IsMeasurable)
{
- shippingItemPallet.GrossWeight = 0;
- shippingItemPallet.PalletWeight = 0;
+ originalShippingItemPallet.GrossWeight = 0;
+ originalShippingItemPallet.PalletWeight = 0;
+ originalShippingItemPallet.TareWeight = 0;
}
- if (nullResultIsValid || !shippingItemPallet.IsValidSafeMeasuringValues())
+ if (nullResultIsValid || !originalShippingItemPallet.IsValidSafeMeasuringValues())
{
- Assert.IsNull(shippingItem);
+ Assert.IsNull(shippingItemPallet);
return;
}
+ Assert.IsNotNull(shippingItemPallet);
+ Assert.IsTrue(shippingItemPallet.TareWeight == originalShippingItemPallet.TareWeight);
+ Assert.IsTrue(shippingItemPallet.Quantity == originalShippingItemPallet.Quantity);
+ Assert.IsTrue(shippingItemPallet.GrossWeight == originalShippingItemPallet.GrossWeight);
+ Assert.IsTrue(shippingItemPallet.PalletWeight == originalShippingItemPallet.PalletWeight);
+ Assert.IsTrue(shippingItemPallet.ShippingItemId == originalShippingItemPallet.ShippingItemId);
+
+ shippingItem = await _signalRClient.GetShippingItemById(shippingItemPallet.ShippingItemId);
+
Assert.IsNotNull(shippingItem);
Assert.IsNotNull(shippingItem.Product);
Assert.IsNotNull(shippingItem.ShippingItemPallets);
Assert.IsTrue(shippingItem.IsMeasurable == originalMeasuringProductDto.IsMeasurable);
incGrossWeight = originalMeasuringProductDto.IsMeasurable ? double.Round(incGrossWeight, 1) : 0;
- var incNetWeight = originalMeasuringProductDto.IsMeasurable ? double.Round(incGrossWeight - incPalletWeight, 1) : 0;
+ var incNetWeight = originalMeasuringProductDto.IsMeasurable ? double.Round((incGrossWeight - incPalletWeight) - (incQuantity * incTare), 1) : 0;
var isMeasuredPalletsCount = shippingItem.ShippingItemPallets!.Count(x => x.IsMeasured);
diff --git a/FruitBankHybrid.Shared/Pages/MeasuringIn.razor b/FruitBankHybrid.Shared/Pages/MeasuringIn.razor
index 3e24c3a..cc0a790 100644
--- a/FruitBankHybrid.Shared/Pages/MeasuringIn.razor
+++ b/FruitBankHybrid.Shared/Pages/MeasuringIn.razor
@@ -98,7 +98,8 @@
@if (SelectedShippingItem != null)
{
- @SelectedShippingItem.Name
+ @SelectedShippingItem.Name
+
*@
- @for (var index = 0; index < SelectedShippingItem.ShippingItemPallets!.Count; index++)
+ @for (var index = 0; index < SelectedShippingItem.ShippingItemPallets!.Count; index++)
{
var localI = index + 1;
var currentShippingItemPallet = SelectedShippingItem.ShippingItemPallets![index];
-
-
- @(localI). Raklap
+
+
+
+ @(localI).mérés
+ Field="@nameof(ShippingItemPallet.PalletWeight)"
+ Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
+ Caption="Rakl.súly(kg)" ColSpanMd="2"/>
+
+
+
-
+ Field="@nameof(ShippingItemPallet.Quantity)"
+ Enabled="@(SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
+ Caption="Rekesz/csomag" ColSpanMd="2"/>
+ Field="@nameof(ShippingItemPallet.GrossWeight)"
+ Enabled="@(SelectedShippingItem.IsMeasurable && SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)"
+ Caption="Br.súly(kg)" ColSpanMd="2">
-
+
@(currentShippingItemPallet.NetWeight) kg.
- @*
-
+
+
- *@
+
}
- TOTAL:
+ TOTAL:
+
+
+ @(SelectedShippingItem.MeasuredQuantity) db
+ @(SelectedShippingItem.MeasuredGrossWeight) kg
+ @(SelectedShippingItem.MeasuredNetWeight) kg
- @(SelectedShippingItem.MeasuredQuantity) db.
- @(SelectedShippingItem.MeasuredGrossWeight) kg.
- @(SelectedShippingItem.MeasuredNetWeight) kg.
-
@@ -196,7 +205,7 @@
- @if (SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)
+@* @if (SelectedShippingItem.ProductId.GetValueOrDefault(0) > 0)
{
diff --git a/FruitBankHybrid.Shared/Pages/MeasuringIn.razor.cs b/FruitBankHybrid.Shared/Pages/MeasuringIn.razor.cs
index e965e7b..409a591 100644
--- a/FruitBankHybrid.Shared/Pages/MeasuringIn.razor.cs
+++ b/FruitBankHybrid.Shared/Pages/MeasuringIn.razor.cs
@@ -94,6 +94,10 @@ namespace FruitBankHybrid.Shared.Pages
switch (fieldName)
{
+ case nameof(ShippingItemPallet.TareWeight):
+ return IsShippingitemPalletMeasuredAndValid(shippingItemPallet) ? "text-success" :
+ (shippingItemPallet.TareWeight < 0 || shippingItemPallet.NetWeight < 0 ? "text-danger" : "");
+ break;
case nameof(ShippingItemPallet.PalletWeight):
return IsShippingitemPalletMeasuredAndValid(shippingItemPallet) ? "text-success" :
(shippingItemPallet.PalletWeight < 0 || shippingItemPallet.NetWeight < 0 ? "text-danger" : "");
@@ -274,6 +278,10 @@ namespace FruitBankHybrid.Shared.Pages
shippingItemPallet.PalletWeight = (double)newValue;
break;
+ case nameof(ShippingItemPallet.TareWeight):
+ shippingItemPallet.TareWeight = (double)newValue;
+ break;
+
case nameof(ShippingItemPallet.Quantity):
shippingItemPallet.Quantity = (int)newValue;
break;
diff --git a/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs b/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
index 54a82e9..c992158 100644
--- a/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
+++ b/FruitBankHybrid.Shared/Pages/MeasuringOut.razor.cs
@@ -1,4 +1,7 @@
-using FruitBank.Common.Models;
+using AyCode.Core.Loggers;
+using FruitBank.Common.Models;
+using FruitBankHybrid.Shared.Services.SignalRs;
+using Mango.Nop.Core.Loggers;
using Microsoft.AspNetCore.Components;
using System;
using System.Collections.Generic;
@@ -10,6 +13,10 @@ namespace FruitBankHybrid.Shared.Pages
{
public partial class MeasuringOut : ComponentBase
{
+ [Inject] public required IEnumerable LogWriters { get; set; }
+ [Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
[Inject] public required LoggedInModel LoggedInModel { get; set; }
+
+ private ILogger _logger = null!;
}
}
diff --git a/FruitBankHybrid.Shared/wwwroot/app.css b/FruitBankHybrid.Shared/wwwroot/app.css
index dc61a7a..c4a780f 100644
--- a/FruitBankHybrid.Shared/wwwroot/app.css
+++ b/FruitBankHybrid.Shared/wwwroot/app.css
@@ -68,4 +68,8 @@ h1:focus {
mask-repeat: no-repeat;
-webkit-mask-image: var(--icon-mask-image);
mask-image: var(--icon-mask-image);
-}
\ No newline at end of file
+}
+
+.measuring-form-layout {
+ margin-top: 15px;
+}