using FruitBank.Common.Dtos; using FruitBank.Common.Entities; using FruitBank.Common.Models; using Mango.Nop.Core.Dtos; using Mango.Nop.Core.Entities; using Mango.Nop.Core.Models; using Nop.Core.Domain.Customers; namespace FruitBank.Common.Interfaces; public interface IFruitBankDataControllerCommon { public Task?> GetMeasuringModels(); #region Partner public Task?> GetPartners(); public Task GetPartnerById(int id); public Task AddPartner(Partner partner); public Task UpdatePartner(Partner partner); #endregion Partner #region Shipping public Task?> GetShippings(); Task?> GetNotMeasuredShippings(); public Task GetShippingById(int id); public Task AddShipping(Shipping shipping); public Task UpdateShipping(Shipping shipping); #endregion Shipping #region ShippingItem public Task?> GetShippingItems(); public Task?> GetShippingItemsByPartnerId(int partnerId); public Task?> GetShippingItemsByShippingId(int shippingId); public Task?> GetShippingItemsByDocumentId(int shippingDocumentId); public Task GetShippingItemById(int id); public Task AddShippingItem(ShippingItem shippingItem); public Task UpdateShippingItem(ShippingItem shippingItem); public Task UpdateMeasuredShippingItem(ShippingItem shippingItem); #endregion ShippingItem #region ShippingItemPallet public Task?> GetShippingItemPallets(); public Task AddShippingItemPallet(ShippingItemPallet shippingItemPallet); public Task UpdateShippingItemPallet(ShippingItemPallet shippingItemPallet); public Task AddOrUpdateMeasuredShippingItemPallet(ShippingItemPallet shippingItemPallet); public Task AddOrUpdateMeasuredShippingItemPallets(List shippingItemPallets); #endregion ShippingItemPallet #region ShippingDocument public Task?> GetShippingDocuments(); public Task GetShippingDocumentById(int id); public Task?> GetShippingDocumentsByShippingId(int shippingId); public Task?> GetShippingDocumentsByProductId(int productId); public Task?> GetShippingDocumentsByPartnerId(int partnerId); public Task AddShippingDocument(ShippingDocument shippingDocument); public Task UpdateShippingDocument(ShippingDocument shippingDocument); #endregion ShippingDocument #region Customer public Task?> GetMeasuringUsers(); public Task?> GetCustomerRolesByCustomerId(int customerId); #endregion Customer #region Product public Task?> GetProductDtos(); //public Task?> GetAllMeasuringProductDtos(); public Task GetProductDtoById(int productId); public Task?> GetStockQuantityHistoryDtos(); public Task?> GetStockQuantityHistoryDtosByProductId(int productId); #endregion Product Task LoginMeasuringUser(MgLoginModelRequest loginModelRequest); Task?> ProcessAndSaveFullShippingJson(string fullShippingJson, int customerId); public Task?> GetGenericAttributeDtosByEntityIdAndKeyGroup(int productId, string keyGroup, int storeId); public Task AddGenericAttributeDto(GenericAttributeDto genericAttributeDto); public Task UpdateGenericAttributeDto(GenericAttributeDto genericAttributeDto); }