diff --git a/Nop.Plugin.Misc.AuctionPlugin/Content/Js/MgMessageHandler.js b/Nop.Plugin.Misc.AuctionPlugin/Content/Js/MgMessageHandler.js
index 08b037c..5fab80c 100644
--- a/Nop.Plugin.Misc.AuctionPlugin/Content/Js/MgMessageHandler.js
+++ b/Nop.Plugin.Misc.AuctionPlugin/Content/Js/MgMessageHandler.js
@@ -31,20 +31,30 @@
//console.log(data);
var myObject = JSON.parse(data);
//console.log(myObject);
- var productAuctionMappingId = myObject.auctionDto.productToAuctionDtos[0].id;
+
+ var auctionDto = myObject.auctionDto;
+ var productToAuctionDto = auctionDto.productToAuctionDtos[0];
+
+ //var productAuctionMappingId = productToAuctionDto.id;
//console.log(productAuctionMappingId);
var publicProductBidBox = document.getElementById("publicProductBidBox");
var liveScreen = document.getElementById("auctionProductLiveScreenBox");
+ var publicInfo = document.getElementById("publicInfoOverlay" + productToAuctionDto.productId);
+
if (publicProductBidBox)
{
refreshPublicBidBox(myObject);
}
+ if (publicInfo) {
+ var functionName = "refreshPublicInfo" + productToAuctionDto.productId;
+ window[functionName](auctionDto);
+ }
if (liveScreen)
{
reloadOnUpdate();
}
- if (!liveScreen) {
+ else {
toastr.success(`
${myObject.currentPrice}
${myObject.productName}
`, "New bid arrived", {
"closeButton": true,
"positionClass": "toast-bottom-left",
@@ -66,12 +76,14 @@
},
ProductToAuctionStatusNotification: function (data) {
console.log(data);
+
var myObject = JSON.parse(data);
var auctionDto = myObject.auctionDto;
- var productToAuctionDto = myObject.auctionDto.productToAuctionDtos[0];
+ var productToAuctionDto = auctionDto.productToAuctionDtos[0];
var publicProductBidBox = document.getElementById("publicProductBidBox");
var liveScreen = document.getElementById("auctionProductLiveScreenBox");
var publicInfo = document.getElementById("publicInfoOverlay" + productToAuctionDto.productId);
+
if (!liveScreen) {
var messageTitle = "";
var messageText = "";
@@ -143,11 +155,7 @@
}
if (publicInfo) {
var functionName = "refreshPublicInfo" + productToAuctionDto.productId;
- /*if (typeof window[functionName] === "function" + productToAuctionDto.productId) {*/
- window[functionName](myObject); // Dynamically call the function
- //} else {
- //console.error("Function " + functionName + " does not exist.");
- //}
+ window[functionName](auctionDto);
}
// var publicProductBidBox = document.getElementById("publicProductBidBox");
diff --git a/Nop.Plugin.Misc.AuctionPlugin/Models/AuctionPublicInfoModel.cs b/Nop.Plugin.Misc.AuctionPlugin/Models/AuctionPublicInfoModel.cs
index dc2197a..5023697 100644
--- a/Nop.Plugin.Misc.AuctionPlugin/Models/AuctionPublicInfoModel.cs
+++ b/Nop.Plugin.Misc.AuctionPlugin/Models/AuctionPublicInfoModel.cs
@@ -6,37 +6,36 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Models
{
public record AuctionPublicInfoModel : BaseNopModel
{
- [JsonIgnore]
- [System.Text.Json.Serialization.JsonIgnore]
+ //[JsonIgnore]
+ //[System.Text.Json.Serialization.JsonIgnore]
public AuctionDto AuctionDto { get; set; }
[JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public ProductToAuctionDto FirstProductToAuction { get; set; }
- public int ProductId { get; set; }
-
- public int ProductToAuctionMappingId { get; set; }
-
- public DateTime StartDate { get; set; }
-
- public bool IsActive { get; set; }
+ public int ProductId => FirstProductToAuction?.ProductId ?? 0;
+ public int ProductToAuctionMappingId => FirstProductToAuction?.ProductId ?? 0;
+ public DateTime StartDate => AuctionDto?.StartDateUtc ?? DateTime.MinValue;
+ public bool IsActive => FirstProductToAuction?.IsActiveItem ?? false;
- public AuctionPublicInfoModel() {}
+ public AuctionPublicInfoModel()
+ {
+ }
public AuctionPublicInfoModel(AuctionDto auctionDto) : this()
{
AuctionDto = auctionDto;
-
- StartDate = AuctionDto.StartDateUtc;
-
+
+ //StartDate = AuctionDto.StartDateUtc;
+
FirstProductToAuction = AuctionDto.ProductToAuctionDtos.FirstOrDefault();
if (FirstProductToAuction == null) return;
- ProductId = FirstProductToAuction.ProductId;
- ProductToAuctionMappingId = FirstProductToAuction.Id;
- IsActive = FirstProductToAuction.IsActiveItem;
+ //ProductId = FirstProductToAuction.ProductId;
+ //ProductToAuctionMappingId = FirstProductToAuction.Id;
+ //IsActive = FirstProductToAuction.IsActiveItem;
}
}
}
diff --git a/Nop.Plugin.Misc.AuctionPlugin/Views/PublicInfo.cshtml b/Nop.Plugin.Misc.AuctionPlugin/Views/PublicInfo.cshtml
index 0f7ad30..99b1498 100644
--- a/Nop.Plugin.Misc.AuctionPlugin/Views/PublicInfo.cshtml
+++ b/Nop.Plugin.Misc.AuctionPlugin/Views/PublicInfo.cshtml
@@ -1,72 +1,85 @@
-@model AuctionPublicInfoModel
+@using AyCode.Core.Extensions
+@model AuctionPublicInfoModel