From 5970cfb0a02353d270500baf55d81df24a725f48 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 18 Nov 2024 12:59:20 +0100 Subject: [PATCH] most mivan --- .../AuctionDefaults.cs | 1 + .../Infrastructure/RouteProvider.cs | 4 ++++ .../Builders/ProductToAuctionBuilder.cs | 2 +- .../Models/AssignAuctionRequestModel.cs | 18 ++++++++++++++++++ .../Services/IAuctionService.cs | 11 ++++++++++- 5 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 Nop.Plugin.Misc.AuctionPlugin/Models/AssignAuctionRequestModel.cs diff --git a/Nop.Plugin.Misc.AuctionPlugin/AuctionDefaults.cs b/Nop.Plugin.Misc.AuctionPlugin/AuctionDefaults.cs index 3a1b79b..e69e9e8 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/AuctionDefaults.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/AuctionDefaults.cs @@ -32,6 +32,7 @@ public static class AuctionDefaults public static string TestPageRouteName => "Plugin.Misc.AuctionPlugin.TestPage"; public static string BidNotificationRouteName => "Plugin.Misc.AuctionPlugin.BidNotification"; public static string RefreshAuctionWidgetRouteName => "Plugin.Misc.AuctionPlugin.RefreshAuctionWidget"; + public static string AssignProductToAuction => "Plugin.Misc.AuctionPlugin.AssignProductToAuction"; /// /// Gets the name of autosuggest component diff --git a/Nop.Plugin.Misc.AuctionPlugin/Infrastructure/RouteProvider.cs b/Nop.Plugin.Misc.AuctionPlugin/Infrastructure/RouteProvider.cs index 192b071..4eb605d 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Infrastructure/RouteProvider.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Infrastructure/RouteProvider.cs @@ -49,6 +49,10 @@ namespace Nop.Plugin.Misc.AuctionPlugin.Infrastructure endpointRouteBuilder.MapControllerRoute(name: AuctionDefaults.RefreshAuctionWidgetRouteName, pattern: "Auction/RefreshAuctionWidget", defaults: new { controller = "Auction", action = "RefreshAuctionWidget" }); + + endpointRouteBuilder.MapControllerRoute(name: AuctionDefaults.AssignProductToAuction, + pattern: "Admin/Auction/AssignProductToAuction", + defaults: new { controller = "AuctionPluginAdmin", action = "AssignProductToAuction" }); } diff --git a/Nop.Plugin.Misc.AuctionPlugin/Mapping/Builders/ProductToAuctionBuilder.cs b/Nop.Plugin.Misc.AuctionPlugin/Mapping/Builders/ProductToAuctionBuilder.cs index 12366f9..1034684 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Mapping/Builders/ProductToAuctionBuilder.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Mapping/Builders/ProductToAuctionBuilder.cs @@ -20,7 +20,7 @@ public class ProductToAuctionMappingBuilder : NopEntityBuilderCreate table expression builder public override void MapEntity(CreateTableExpressionBuilder table) { - table.WithColumn(nameof(ProductToAuctionMapping.Id)).AsInt32().PrimaryKey() + table.WithColumn(nameof(ProductToAuctionMapping.Id)).AsInt32().PrimaryKey().Identity() .WithColumn(nameof(ProductToAuctionMapping.AuctionId)).AsInt32().ForeignKey(onDelete: Rule.None) //Rule.Cascade?? .WithColumn(nameof(ProductToAuctionMapping.ProductId)).AsInt32().ForeignKey(onDelete: Rule.None) //Rule.Cascade?? diff --git a/Nop.Plugin.Misc.AuctionPlugin/Models/AssignAuctionRequestModel.cs b/Nop.Plugin.Misc.AuctionPlugin/Models/AssignAuctionRequestModel.cs new file mode 100644 index 0000000..5f074d4 --- /dev/null +++ b/Nop.Plugin.Misc.AuctionPlugin/Models/AssignAuctionRequestModel.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Nop.Plugin.Misc.AuctionPlugin.Models +{ + public class AssignAuctionRequestModel + { + + public string ProductId { get; set; } + public string StartingPrice { get; set; } + public string BidPrice { get; set; } + public string AuctionId { get; set; } + + } +} diff --git a/Nop.Plugin.Misc.AuctionPlugin/Services/IAuctionService.cs b/Nop.Plugin.Misc.AuctionPlugin/Services/IAuctionService.cs index f8ed2a2..63a0b41 100644 --- a/Nop.Plugin.Misc.AuctionPlugin/Services/IAuctionService.cs +++ b/Nop.Plugin.Misc.AuctionPlugin/Services/IAuctionService.cs @@ -1,6 +1,7 @@ using Microsoft.AspNetCore.Mvc; using Nop.Core; using Nop.Plugin.Misc.AuctionPlugin.Domains; +using Nop.Plugin.Misc.AuctionPlugin.Domains.Dtos; using Nop.Plugin.Misc.AuctionPlugin.Domains.Entities; namespace Nop.Plugin.Misc.AuctionPlugin.Services; @@ -34,5 +35,13 @@ public interface IAuctionService Task> GetAllAuctionsAsync(); - Task AssignProductToAuctionAsync(int productId, int auctionId); + Task GetAuctionDtoByIdAsync(int auctionId); + + Task GetAuctionDtoWithProductByIdAsync(int auctionId, int productId); + + Task GetProductToAuctionDtoByIdAsync(int productToAuctionId); + + Task GetAuctionBidDtoByIdAsync(int auctionBidId); + + Task AssignProductToAuctionAsync(int productId, decimal startingPrice, decimal bidPrice, int auctionId); } \ No newline at end of file