using FruitBank.Common.Entities;
using Mango.Nop.Core.Entities;

namespace FruitBank.Common.Interfaces;

public interface IStockSignalREndpointCommon
{
    public Task<List<StockTaking>?> GetStockTakings(bool loadRelations);
    public Task<List<StockTaking>?> GetStockTakingsByProductId(int productId);
    public Task<StockTaking?> AddStockTaking(StockTaking stockTaking);
    public Task<StockTakingItem?> RefreshStockTakingItem(int stockTakingItemId);
    public Task<StockTaking?> UpdateStockTaking(StockTaking stockTaking);

    public Task<List<StockTakingItem>?> GetStockTakingItems();
    public Task<StockTakingItem?> GetStockTakingItemsById(int stockTakingItemId);
    public Task<List<StockTakingItem>?> GetStockTakingItemsByProductId(int productId);
    public Task<List<StockTakingItem>?> GetStockTakingItemsByStockTakingId(int stockTakingId);
    public Task<StockTakingItem?> AddStockTakingItem(StockTakingItem stockTakingItem);
    public Task<StockTakingItem?> UpdateStockTakingItem(StockTakingItem stockTakingItem);

    public Task<List<StockTakingItemPallet>?> GetStockTakingItemPallets();
    public Task<List<StockTakingItemPallet>?> GetStockTakingItemPalletsByProductId(int productId);
    public Task<StockTaking?> CloseStockTaking(int stockTakingId);
    public Task<StockTakingItemPallet?> AddStockTakingItemPallet(StockTakingItemPallet stockTakingItemPallet);
    public Task<StockTakingItemPallet?> UpdateStockTakingItemPallet(StockTakingItemPallet stockTakingItemPallet);
}