From 070f63406962c6ef97d3e713b7962b58c9ce527a Mon Sep 17 00:00:00 2001 From: Loretta Date: Mon, 9 Dec 2024 07:26:49 +0100 Subject: [PATCH] fixes --- .../AuctionPlugin.cs | 2 +- .../Components/AuctionPublicViewComponent.cs | 1 + .../Components/AuctionViewComponent.cs | 2 ++ .../Domains/DataLayer/AuctionDbContext.cs | 4 ++-- .../DataLayer/ProductToAuctionDbTable.cs | 2 +- .../Domains/Enums/AuctionType.cs | 1 + .../Hubs/AuctionHub.cs | 3 ++- .../Services/AuctionService.cs | 5 +++-- .../Views/LiveScreen.cshtml | 19 ++++++++++--------- .../Views/PublicProductBidBox.cshtml | 2 +- 10 files changed, 24 insertions(+), 17 deletions(-) diff --git a/Nop.Plugin.Misc.AuctionPlugin/AuctionPlugin.cs b/Nop.Plugin.Misc.AuctionPlugin/AuctionPlugin.cs index a7f7a7a..960cd94 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/AuctionPlugin.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/AuctionPlugin.cs @@ -89,7 +89,7 @@ namespace Nop.Plugin.Misc.AuctionPlugin public override async Task UninstallAsync() { var result = await _productAttributeService.GetAllProductAttributesAsync(); - var thisAttribute = result.Where(x => x.Name == AuctionDefaults.AuctionAttributeName).FirstOrDefault(); + var thisAttribute = result.FirstOrDefault(x => x.Name == AuctionDefaults.AuctionAttributeName); await _productAttributeService.DeleteProductAttributeAsync(thisAttribute); await base.UninstallAsync(); } diff --git a/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionPublicViewComponent.cs b/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionPublicViewComponent.cs index 156e6eb..ab81fd0 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionPublicViewComponent.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionPublicViewComponent.cs @@ -128,6 +128,7 @@ public class AuctionPublicViewComponent : NopViewComponent var productId = productDetailsModel.Id; + //TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J. var productToAuction = (await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId)).FirstOrDefault(); if (productToAuction == null) diff --git a/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionViewComponent.cs b/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionViewComponent.cs index 9d3e18f..8672408 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionViewComponent.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Components/AuctionViewComponent.cs @@ -88,12 +88,14 @@ public class AuctionViewComponent : NopViewComponent //model.ProductId = productId; + //TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J. var productToAuctionDtoMappings = await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId); if (productToAuctionDtoMappings.Count == 0) { return Content(string.Empty); } + //TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J. var auctionDto = (await _auctionService.GetAuctionDtoByIdAsync(productToAuctionDtoMappings.FirstOrDefault()!.AuctionId, false, false)); auctionDto.ProductToAuctionDtos.AddRange(productToAuctionDtoMappings); diff --git a/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/AuctionDbContext.cs b/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/AuctionDbContext.cs index b3b3c85..80cdc8b 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/AuctionDbContext.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/AuctionDbContext.cs @@ -67,8 +67,8 @@ public class AuctionDbContext : MgDbContextBase, IAuctionDbSet, public Task RevertAuctionBidByProductToAuctionId(int productToAuctionId) => AuctionBids.RevertByProductToAuctionIdAsync(productToAuctionId); - public async Task ResetProductToAuctionByProductId(int productId) - => await ResetProductToAuctionAsync(await ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); + //public async Task ResetProductToAuctionByProductId(int productId) + // => await ResetProductToAuctionAsync(await ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); public async Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0) => await ResetProductToAuctionAsync(ProductToAuctions.GetById(productToAuctionId), basePrice); diff --git a/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/ProductToAuctionDbTable.cs b/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/ProductToAuctionDbTable.cs index 07b97f8..8b10b46 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/ProductToAuctionDbTable.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Domains/DataLayer/ProductToAuctionDbTable.cs @@ -55,7 +55,7 @@ public class ProductToAuctionDbTable : MgDbTableBase return GetNotClosedItemsByAuctionId(auctionId).OrderBy(x => x.SortIndex).FirstOrDefaultAsync(); } - public async Task ResetByProductIdAsync(int productId, decimal basePrice) => await ResetAsync(await GetByProductId(productId).FirstOrDefaultAsync(), basePrice); + //public async Task ResetByProductIdAsync(int productId, decimal basePrice) => await ResetAsync(await GetByProductId(productId).FirstOrDefaultAsync(), basePrice); public async Task ResetByIdAsync(int productToAuctionId, decimal basePrice) => await ResetAsync(await GetByIdAsync(productToAuctionId), basePrice); public async Task ResetAsync(ProductToAuctionMapping productToAuction, decimal basePrice) { diff --git a/Nop.Plugin.Misc.AuctionPlugin/Domains/Enums/AuctionType.cs b/Nop.Plugin.Misc.AuctionPlugin/Domains/Enums/AuctionType.cs index 90fb742..23c3042 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Domains/Enums/AuctionType.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Domains/Enums/AuctionType.cs @@ -5,4 +5,5 @@ public enum AuctionType : byte //TODO: átbeszélni és kitalálni - J. Manual = 0, AutomaticNext = 5, + AutomaticAll = 10, } \ No newline at end of file diff --git a/Nop.Plugin.Misc.AuctionPlugin/Hubs/AuctionHub.cs b/Nop.Plugin.Misc.AuctionPlugin/Hubs/AuctionHub.cs index 1a9695f..06dab92 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Hubs/AuctionHub.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Hubs/AuctionHub.cs @@ -209,7 +209,8 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Hubs return ResponseType.Error; } - var activeProductAuction = (await auctionService.GetProductToAuctionByAuctionIdAndProductIdAsync(bidRequestMessage.AuctionId, bidRequestMessage.ProductId, true)).FirstOrDefault(); + //var activeProductAuction = (await auctionService.GetProductToAuctionByAuctionIdAndProductIdAsync(bidRequestMessage.AuctionId, bidRequestMessage.ProductId, true)).FirstOrDefault(); + var activeProductAuction = (await auctionService.GetProductToAuctionMappingByIdAsync(bidRequestMessage.ProductAuctionMappingId)); if (activeProductAuction is not { IsActiveItem: true } || (activeProductAuction.WinnerCustomerId == customer.Id && !await customerService.IsAdminAsync(customer))) { logger.Warning($"AuctionHub.HandleBidRequestAsync(); (activeProductAuction is not {{ IsActiveItem: true }} || activeProductAuction.WinnerCustomerId == customer.Id && !await customerService.IsAdminAsync(customer)); AuctionStatus: {activeProductAuction?.AuctionStatus}; WinnerCustomerId: {activeProductAuction?.WinnerCustomerId}", null, customer); diff --git a/Nop.Plugin.Misc.AuctionPlugin/Services/AuctionService.cs b/Nop.Plugin.Misc.AuctionPlugin/Services/AuctionService.cs index 48a8f3b..4655cd0 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Services/AuctionService.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Services/AuctionService.cs @@ -94,8 +94,8 @@ public class AuctionService( return hasAuctionBidInDb ? currentBidPrice + stepAmount : currentBidPrice; } - public async Task ResetProductToAuctionByProductId(int productId) - => await ResetProductToAuctionAsync(await ctx.ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); + //public async Task ResetProductToAuctionByProductId(int productId) + // => await ResetProductToAuctionAsync(await ctx.ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); public Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0) => ResetProductToAuctionAsync(ctx.ProductToAuctions.GetById(productToAuctionId), basePrice); @@ -499,6 +499,7 @@ public class AuctionService( if (auction == null) return null; + //TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J. var existedProductToAuction = (await GetProductToAuctionByAuctionIdAndProductIdAsync(auctionId, productId, false)).FirstOrDefault(); if (existedProductToAuction != null) return existedProductToAuction; diff --git a/Nop.Plugin.Misc.AuctionPlugin/Views/LiveScreen.cshtml b/Nop.Plugin.Misc.AuctionPlugin/Views/LiveScreen.cshtml index 303194d..12f7dec 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Views/LiveScreen.cshtml +++ b/Nop.Plugin.Misc.AuctionPlugin/Views/LiveScreen.cshtml @@ -52,15 +52,16 @@

@Model.ActiveProductDetails.Name

- @if(Model.ActiveProductDetails.ProductManufacturers != null) - { - if(Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault() != null) - { - if(!string.IsNullOrEmpty(Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault().Name)) - { -

Created by: @Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault().Name

- } - } + @{ + //TODO: itt nem gond a ProductManufacturers.FirstOrDefault-t? - J. + var productManufacture = Model.ActiveProductDetails.ProductManufacturers?.FirstOrDefault(); + if (productManufacture != null) + { + if (!string.IsNullOrEmpty(productManufacture.Name)) + { +

Created by: @productManufacture.Name

+ } + } }
diff --git a/Nop.Plugin.Misc.AuctionPlugin/Views/PublicProductBidBox.cshtml b/Nop.Plugin.Misc.AuctionPlugin/Views/PublicProductBidBox.cshtml index 243eefc..f951c6b 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Views/PublicProductBidBox.cshtml +++ b/Nop.Plugin.Misc.AuctionPlugin/Views/PublicProductBidBox.cshtml @@ -69,7 +69,7 @@
-
#@(Model.AuctionDto.ProductToAuctionDtos.FirstOrDefault().SortIndex)
+
#@Model.AuctionDto.ProductToAuctionDtos.FirstOrDefault()!.SortIndex