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; /// /// Store pickup point service interface /// public interface IAuctionService { /// /// Gets all bids /// /// The store identifier; pass 0 to load all records /// Page index /// Page size /// /// A task that represents the asynchronous operation /// The task result contains the bids /// Task> GetAllBidsAsync(int customerId = 0, int pageIndex = 0, int pageSize = int.MaxValue); Task GetBidByIdAsync(int bidId); Task InsertBidAsync(AuctionBid auctionBid); Task UpdateBidAsync(AuctionBid auctionBid); Task DeleteBidAsync(AuctionBid pickupPoint); Task InsertAuctionAsync(Auction auction); Task> GetAllAuctionsAsync(); Task> GetProductToAuctionsByAuctionIdAsync(int auctionId, bool onlyActiveItems = false); 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); Task> GetProductToAuctionsByProductIdAsync(int productId); Task> GetProductToAuctionByAuctionIdAndProductIdAsync(int auctionId, int productId); }