using Grand.Domain;
using Shipping.ByWeight.Domain;

namespace Shipping.ByWeight.Services
{
    public interface IShippingByWeightService
    {
        Task DeleteShippingByWeightRecord(ShippingByWeightRecord shippingByWeightRecord);

        Task<IPagedList<ShippingByWeightRecord>> GetAll(int pageIndex = 0, int pageSize = int.MaxValue);

        Task<ShippingByWeightRecord> FindRecord(string shippingMethodId,
            string storeId, string warehouseId,
            string countryId, string stateProvinceId, string zip, double weight);

        Task<ShippingByWeightRecord> GetById(string shippingByWeightRecordId);

        Task InsertShippingByWeightRecord(ShippingByWeightRecord shippingByWeightRecord);

        Task UpdateShippingByWeightRecord(ShippingByWeightRecord shippingByWeightRecord);
    }

}
