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()
{
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();
}

View File

@ -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)

View File

@ -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);

View File

@ -67,8 +67,8 @@ public class AuctionDbContext : MgDbContextBase, IAuctionDbSet<AuctionDbTable>,
public Task<AuctionBid> 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);

View File

@ -55,7 +55,7 @@ public class ProductToAuctionDbTable : MgDbTableBase<ProductToAuctionMapping>
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)
{

View File

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

View File

@ -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);

View File

@ -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;

View File

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

View File

@ -69,7 +69,7 @@
</div>
<div id="publicProductBidBox" class="p-3 @bgClass text-white">
<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>