using Edge.Core.Domain.FccOilInfo.Input;

namespace FccLite.Web.Repositories.FccOilInfo
{
    public interface IOilInfoReposity
    {
        /// <summary>
        /// 新增、更改油品信息
        /// </summary>
        /// <param name="oilInfoInput"></param>
        /// <returns></returns>
        Task<long> UploadOilInfo(OilInfoInput oilInfoInput);

        /// <summary>
        /// 分页获取油品信息
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="size">页数</param>
        /// <param name="id">过滤信息——id</param>
        /// <param name="name">过滤信息——油品名</param>
        /// <param name="code">过滤信息——油品码</param>
        /// <returns></returns>
        Task<IEnumerable<Edge.Core.Domain.FccOilInfo.FccOilInfo>> GetPage(int page, int size, long? id, string? name, string? code);

        /// <summary>
        /// 通过id 删除油品信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Edge.Core.Domain.FccOilInfo.FccOilInfo?> DeleteByID(long id);

        /// <summary>
        /// 获取所有油品
        /// </summary>
        /// <returns></returns>
        Task<List<Edge.Core.Domain.FccOilInfo.FccOilInfo>> GetOilInfo();
    }
}
