From b9b27678436528b3d73140737a36d9d2b77507bb Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 12 May 2026 16:18:14 +0200 Subject: [PATCH] =?UTF-8?q?El=C5=91rendel=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FruitBank.Common.Server/FruitBankConst.cs | 12 ++++++++++ FruitBank.Common/Entities/Preorder.cs | 21 ++++++++++++++++ FruitBank.Common/Entities/PreorderItem.cs | 17 +++++++++++++ FruitBank.Common/Enums/PreorderItemStatus.cs | 9 +++++++ FruitBank.Common/Enums/PreorderStatus.cs | 11 +++++++++ FruitBank.Common/FruitBankConstClient.cs | 3 +++ .../Components/GridDetailOrderDto.razor | 24 +++++++++++++++---- .../Components/GridShippingDocument.razor | 1 + .../Components/GridShippingItemTemplate.razor | 6 +++-- FruitBankHybrid/FruitBankHybrid.csproj | 2 +- 10 files changed, 99 insertions(+), 7 deletions(-) create mode 100644 FruitBank.Common/Entities/Preorder.cs create mode 100644 FruitBank.Common/Entities/PreorderItem.cs create mode 100644 FruitBank.Common/Enums/PreorderItemStatus.cs create mode 100644 FruitBank.Common/Enums/PreorderStatus.cs diff --git a/FruitBank.Common.Server/FruitBankConst.cs b/FruitBank.Common.Server/FruitBankConst.cs index 32363658..4c4d2a9e 100644 --- a/FruitBank.Common.Server/FruitBankConst.cs +++ b/FruitBank.Common.Server/FruitBankConst.cs @@ -15,6 +15,18 @@ namespace FruitBank.Common.Server public static string MeasuringRevisorRoleSystemName = "MeasuringRevisor"; public static string IsMeasureableAttributeName = "IsMeasurable"; + /// + /// DateTime generic attribute on Product. + /// The start of the window during which this product is visible for preordering. + /// + public const string PreorderWindowStart = "PreorderWindowStart"; + + /// + /// DateTime generic attribute on Product. + /// The end of the window during which this product is visible for preordering. + /// + public const string PreorderWindowEnd = "PreorderWindowEnd"; + static FruitBankConst() { ProjectId = Guid.Parse(ProjectIdString); diff --git a/FruitBank.Common/Entities/Preorder.cs b/FruitBank.Common/Entities/Preorder.cs new file mode 100644 index 00000000..781fd7fe --- /dev/null +++ b/FruitBank.Common/Entities/Preorder.cs @@ -0,0 +1,21 @@ +using FruitBank.Common.Enums; +using LinqToDB.Mapping; +using Mango.Nop.Core.Entities; + +namespace FruitBank.Common.Entities; + +[Table(Name = FruitBankConstClient.PreOrderDbTableName)] +[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.PreOrderDbTableName)] +public class Preorder : MgEntityBase +{ + public int CustomerId { get; set; } + public int StoreId { get; set; } + public DateTime DateOfReceipt { get; set; } + public PreorderStatus Status { get; set; } + public string? CustomerNote { get; set; } + public DateTime CreatedOnUtc { get; set; } + public DateTime UpdatedOnUtc { get; set; } + public int? OrderId { get; set; } + + public List PreorderItems { get; set; } = new(); +} diff --git a/FruitBank.Common/Entities/PreorderItem.cs b/FruitBank.Common/Entities/PreorderItem.cs new file mode 100644 index 00000000..0c94cb6e --- /dev/null +++ b/FruitBank.Common/Entities/PreorderItem.cs @@ -0,0 +1,17 @@ +using FruitBank.Common.Enums; +using LinqToDB.Mapping; +using Mango.Nop.Core.Entities; + +namespace FruitBank.Common.Entities; + +[Table(Name = FruitBankConstClient.PreOrderItemDbTableName)] +[System.ComponentModel.DataAnnotations.Schema.Table(FruitBankConstClient.PreOrderItemDbTableName)] +public class PreorderItem : MgEntityBase +{ + public int PreorderId { get; set; } + public int ProductId { get; set; } + public int RequestedQuantity { get; set; } + public int FulfilledQuantity { get; set; } + public decimal UnitPriceInclTax { get; set; } + public PreorderItemStatus Status { get; set; } +} diff --git a/FruitBank.Common/Enums/PreorderItemStatus.cs b/FruitBank.Common/Enums/PreorderItemStatus.cs new file mode 100644 index 00000000..42d3a0de --- /dev/null +++ b/FruitBank.Common/Enums/PreorderItemStatus.cs @@ -0,0 +1,9 @@ +namespace FruitBank.Common.Enums; + +public enum PreorderItemStatus +{ + Pending = 0, + Fulfilled = 10, + PartiallyFulfilled = 20, + Dropped = 30 +} \ No newline at end of file diff --git a/FruitBank.Common/Enums/PreorderStatus.cs b/FruitBank.Common/Enums/PreorderStatus.cs new file mode 100644 index 00000000..2b01a9c5 --- /dev/null +++ b/FruitBank.Common/Enums/PreorderStatus.cs @@ -0,0 +1,11 @@ + + +namespace FruitBank.Common.Enums; + +public enum PreorderStatus +{ + Pending = 0, + Confirmed = 10, + PartiallyFulfilled = 20, + Cancelled = 30 +} \ No newline at end of file diff --git a/FruitBank.Common/FruitBankConstClient.cs b/FruitBank.Common/FruitBankConstClient.cs index 623078d9..e20aecfd 100644 --- a/FruitBank.Common/FruitBankConstClient.cs +++ b/FruitBank.Common/FruitBankConstClient.cs @@ -10,6 +10,7 @@ public static class FruitBankConstClient public static string BaseUrl = "https://localhost:59579"; //FrutiBank nop //public static string BaseUrl = "https://localhost:44372"; //FrutiBank nop //public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop + //public static string BaseUrl = "https://fruitbank.mangoweb.hu"; //FrutiBank nop test #if RELEASE //public static string BaseUrl = "https://shop.fruitbank.hu"; //FrutiBank nop #endif @@ -44,6 +45,8 @@ public static class FruitBankConstClient public const string StockTakingItemDbTableName = "fbStockTakingItem"; public const string StockTakingItemPalletDbTableName = "fbStockTakingItemPallet"; public const string CustomerCreditDbTableName = "fbCustomerCredit"; + public const string PreOrderDbTableName = "fbPreorder"; + public const string PreOrderItemDbTableName = "fbPreorderItem"; diff --git a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor index 3d87187f..e2ad7db0 100644 --- a/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor +++ b/FruitBankHybrid.Shared/Components/GridDetailOrderDto.razor @@ -46,19 +46,19 @@ - + @{ var orderItemPalletDtos = orderDto?.OrderItemDtos.SelectMany(oi => oi.OrderItemPallets).ToList() ?? []; } - + @{ // var orderItemPalletDtos = orderDto?.OrderItemDtos.SelectMany(oi => oi.OrderItemPallets).ToList() ?? []; // } - + @{ var genericAttributeDtos = new AcObservableCollection(orderDto.GenericAttributes); @@ -74,7 +74,7 @@ } - + @* @@ -84,7 +84,23 @@ + *@ + + + + + + + @code { diff --git a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor index 2fc79752..d71cabfc 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingDocument.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingDocument.razor @@ -59,6 +59,7 @@ + diff --git a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor index afd365c0..c4181772 100644 --- a/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor +++ b/FruitBankHybrid.Shared/Components/GridShippingItemTemplate.razor @@ -239,8 +239,10 @@ var quantityOnDocument = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.QuantityOnDocument)); var measuredQuantity = (int)e.Grid.GetRowValue(e.VisibleIndex, nameof(ShippingItem.MeasuredQuantity)); - if (quantityOnDocument > 0 && quantityOnDocument > measuredQuantity) e.CssClass = "text-danger"; - //else if (quantityOnDocument <= measuredQuantity) e.CssClass = "text-success"; + if (quantityOnDocument > 0 && quantityOnDocument > measuredQuantity) + { e.CssClass = "text-danger"; } + else if (quantityOnDocument < measuredQuantity) + { e.CssClass = "text-success"; } break; } } diff --git a/FruitBankHybrid/FruitBankHybrid.csproj b/FruitBankHybrid/FruitBankHybrid.csproj index f25059b0..31b630d8 100644 --- a/FruitBankHybrid/FruitBankHybrid.csproj +++ b/FruitBankHybrid/FruitBankHybrid.csproj @@ -19,7 +19,7 @@ com.mango.fruitbank - 1.0.1 + 1.0.2 1 false