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/CustomerCredit.cs b/FruitBank.Common/Entities/CustomerCredit.cs
new file mode 100644
index 00000000..145a5aa3
--- /dev/null
+++ b/FruitBank.Common/Entities/CustomerCredit.cs
@@ -0,0 +1,14 @@
+using AyCode.Interfaces.EntityComment;
+using FruitBank.Common.Interfaces;
+using Mango.Nop.Core.Entities;
+
+namespace FruitBank.Common.Entities;
+
+public class CustomerCredit: MgEntityBase, IEntityComment
+{
+ public int CustomerId { get; set; }
+ public decimal CreditLimit { get; set; }
+ public string? Comment { get; set; }
+ public DateTime CreatedOnUtc { get; set; }
+ public DateTime UpdatedOnUtc { get; set; }
+}
\ No newline at end of file
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 befaaa01..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
@@ -43,9 +44,12 @@ public static class FruitBankConstClient
public const string StockTakingDbTableName = "fbStockTaking";
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";
+
+
-
//public static Guid[] DevAdminIds = new Guid[2] { Guid.Parse("dcf451d2-cc4c-4ac2-8c1f-da00041be1fd"), Guid.Parse("4cbaed43-2465-4d99-84f1-c8bc6b7025f7") };
//public static Guid[] SysAdmins = new Guid[3]
//{
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 44d2dee7..99ef3b86 100644
--- a/FruitBankHybrid/FruitBankHybrid.csproj
+++ b/FruitBankHybrid/FruitBankHybrid.csproj
@@ -19,7 +19,7 @@
com.mango.fruitbank
- 1.0.1
+ 1.0.2
1
false