This commit is contained in:
Loretta 2024-12-09 07:26:49 +01:00
parent edaef40fb7
commit 070f634069
10 changed files with 24 additions and 17 deletions

View File

@ -89,7 +89,7 @@ namespace Nop.Plugin.Misc.AuctionPlugin
public override async Task UninstallAsync() public override async Task UninstallAsync()
{ {
var result = await _productAttributeService.GetAllProductAttributesAsync(); 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 _productAttributeService.DeleteProductAttributeAsync(thisAttribute);
await base.UninstallAsync(); await base.UninstallAsync();
} }

View File

@ -128,6 +128,7 @@ public class AuctionPublicViewComponent : NopViewComponent
var productId = productDetailsModel.Id; var productId = productDetailsModel.Id;
//TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J.
var productToAuction = (await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId)).FirstOrDefault(); var productToAuction = (await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId)).FirstOrDefault();
if (productToAuction == null) if (productToAuction == null)

View File

@ -88,12 +88,14 @@ public class AuctionViewComponent : NopViewComponent
//model.ProductId = productId; //model.ProductId = productId;
//TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J.
var productToAuctionDtoMappings = await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId); var productToAuctionDtoMappings = await _auctionService.GetProductToAuctionDtosByProductIdAsync(productId);
if (productToAuctionDtoMappings.Count == 0) if (productToAuctionDtoMappings.Count == 0)
{ {
return Content(string.Empty); return Content(string.Empty);
} }
//TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J.
var auctionDto = (await _auctionService.GetAuctionDtoByIdAsync(productToAuctionDtoMappings.FirstOrDefault()!.AuctionId, false, false)); var auctionDto = (await _auctionService.GetAuctionDtoByIdAsync(productToAuctionDtoMappings.FirstOrDefault()!.AuctionId, false, false));
auctionDto.ProductToAuctionDtos.AddRange(productToAuctionDtoMappings); auctionDto.ProductToAuctionDtos.AddRange(productToAuctionDtoMappings);

View File

@ -67,8 +67,8 @@ public class AuctionDbContext : MgDbContextBase, IAuctionDbSet<AuctionDbTable>,
public Task<AuctionBid> RevertAuctionBidByProductToAuctionId(int productToAuctionId) public Task<AuctionBid> RevertAuctionBidByProductToAuctionId(int productToAuctionId)
=> AuctionBids.RevertByProductToAuctionIdAsync(productToAuctionId); => AuctionBids.RevertByProductToAuctionIdAsync(productToAuctionId);
public async Task ResetProductToAuctionByProductId(int productId) //public async Task ResetProductToAuctionByProductId(int productId)
=> await ResetProductToAuctionAsync(await ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); // => await ResetProductToAuctionAsync(await ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync());
public async Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0) public async Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0)
=> await ResetProductToAuctionAsync(ProductToAuctions.GetById(productToAuctionId), basePrice); => await ResetProductToAuctionAsync(ProductToAuctions.GetById(productToAuctionId), basePrice);

View File

@ -55,7 +55,7 @@ public class ProductToAuctionDbTable : MgDbTableBase<ProductToAuctionMapping>
return GetNotClosedItemsByAuctionId(auctionId).OrderBy(x => x.SortIndex).FirstOrDefaultAsync(); 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 ResetByIdAsync(int productToAuctionId, decimal basePrice) => await ResetAsync(await GetByIdAsync(productToAuctionId), basePrice);
public async Task ResetAsync(ProductToAuctionMapping productToAuction, decimal basePrice) public async Task ResetAsync(ProductToAuctionMapping productToAuction, decimal basePrice)
{ {

View File

@ -5,4 +5,5 @@ public enum AuctionType : byte
//TODO: átbeszélni és kitalálni - J. //TODO: átbeszélni és kitalálni - J.
Manual = 0, Manual = 0,
AutomaticNext = 5, AutomaticNext = 5,
AutomaticAll = 10,
} }

View File

@ -209,7 +209,8 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Hubs
return ResponseType.Error; 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))) 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); 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);

View File

@ -94,8 +94,8 @@ public class AuctionService(
return hasAuctionBidInDb ? currentBidPrice + stepAmount : currentBidPrice; return hasAuctionBidInDb ? currentBidPrice + stepAmount : currentBidPrice;
} }
public async Task ResetProductToAuctionByProductId(int productId) //public async Task ResetProductToAuctionByProductId(int productId)
=> await ResetProductToAuctionAsync(await ctx.ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync()); // => await ResetProductToAuctionAsync(await ctx.ProductToAuctions.GetByProductId(productId).FirstOrDefaultAsync());
public Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0) public Task ResetProductToAuctionByIdAsync(int productToAuctionId, decimal basePrice = 0)
=> ResetProductToAuctionAsync(ctx.ProductToAuctions.GetById(productToAuctionId), basePrice); => ResetProductToAuctionAsync(ctx.ProductToAuctions.GetById(productToAuctionId), basePrice);
@ -499,6 +499,7 @@ public class AuctionService(
if (auction == null) if (auction == null)
return null; return null;
//TODO: itt a ProductToAuctionMapping.Id-t kellene használni! - J.
var existedProductToAuction = (await GetProductToAuctionByAuctionIdAndProductIdAsync(auctionId, productId, false)).FirstOrDefault(); var existedProductToAuction = (await GetProductToAuctionByAuctionIdAndProductIdAsync(auctionId, productId, false)).FirstOrDefault();
if (existedProductToAuction != null) return existedProductToAuction; if (existedProductToAuction != null) return existedProductToAuction;

View File

@ -52,13 +52,14 @@
<div class="row"> <div class="row">
<div class="col-md-8 col-12"> <div class="col-md-8 col-12">
<h1 class="card-title">@Model.ActiveProductDetails.Name</h1> <h1 class="card-title">@Model.ActiveProductDetails.Name</h1>
@if(Model.ActiveProductDetails.ProductManufacturers != null) @{
//TODO: itt nem gond a ProductManufacturers.FirstOrDefault-t? - J.
var productManufacture = Model.ActiveProductDetails.ProductManufacturers?.FirstOrDefault();
if (productManufacture != null)
{ {
if(Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault() != null) if (!string.IsNullOrEmpty(productManufacture.Name))
{ {
if(!string.IsNullOrEmpty(Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault().Name)) <h2 class="text-muted mb-3">Created by: <span class="font-weight-bold">@productManufacture.Name</span></h2>
{
<h2 class="text-muted mb-3">Created by: <span class="font-weight-bold">@Model.ActiveProductDetails.ProductManufacturers.FirstOrDefault().Name</span></h2>
} }
} }
} }

View File

@ -69,7 +69,7 @@
</div> </div>
<div id="publicProductBidBox" class="p-3 @bgClass text-white"> <div id="publicProductBidBox" class="p-3 @bgClass text-white">
<div class="row"> <div class="row">
<div class="col-3"><strong>#@(Model.AuctionDto.ProductToAuctionDtos.FirstOrDefault().SortIndex)</strong></div> <div class="col-3"><strong>#@Model.AuctionDto.ProductToAuctionDtos.FirstOrDefault()!.SortIndex</strong></div>
<div class="col-9"><a target="_blank" class="btn btn-secondary btn-sm float-end" href="https://youtube.com/live/6yfnmyQE7Uw?feature=share"><i class="fa-brands fa-youtube"></i> Youtube live</a></div> <div class="col-9"><a target="_blank" class="btn btn-secondary btn-sm float-end" href="https://youtube.com/live/6yfnmyQE7Uw?feature=share"><i class="fa-brands fa-youtube"></i> Youtube live</a></div>
</div> </div>