using BPA.SAAS.Manage.Application.DataBase.Dtos.Bom;
using BPA.SAAS.Manage.Core.Base;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BPA.SAAS.Manage.Application.DataBase.Interface
{
    public interface IBomService
    {
        /// <summary>
        /// 查询所有配方信息
        /// </summary>
        /// <returns></returns>
        Task<List<BomSelectList>> GetBomList();
        /// <summary>
        /// 根据配方id查询配方信息
        /// </summary>
        /// <param name="bomId"></param>
        /// <returns></returns>
        Task<BomList> GetBomList(string bomId);
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> AddBom(BomInputDto dto);
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> UpdateBom(BomInputDto dto);
        /// 更新配方详情
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> UpdateBomBatcing(BomBatcingInputDto dto);
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<bool> DeleteBom(string id);
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> AddBomType(AddBomTypeInputDto dto);
        /// <summary>
        /// 配方分类列表
        /// </summary>
        /// <returns></returns>
        Task<List<dynamic>> GetBomTypeList();

        /// <summary>
        ///获取 配方列表
        /// </summary>
        /// <param name="inputDto"></param>
        /// <returns></returns>
        Task<PageUtil> BomPage(BomPageInputDto inputDto);

        /// <summary>
        /// 添加配方
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> AddBom(BomCreateInputDto dto);

        /// <summary>
        /// 删除配方
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<bool> DelBom(string id);
    }
}
