using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using WCS.Model.ApiModel.User;
using WCS.Model;
using WCS.DAL.DbModels;
using WCS.Model.ApiModel.StoreInfo;
using WCS.BLL.DbModels;
using WCS.Model.ApiModel.MatBaseInfo;

namespace WCS.BLL.Services.IService
{
    public interface IStoreInfoService
    {
        /// <summary>
        /// 查询货架列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task<PageQueryResponse<ShelfInfo>> GetShelves(GetShelvesRequest request);

        /// <summary>
        /// 导出货架列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task<PageQueryResponse<ShelfInfo>> ExportShelves(GetShelvesRequest request);

        /// <summary>
        /// 添加、更新、删除货架
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task<ResponseCommon<object>> addOrUpdateShelfInfo(AddShelfInfoRequest<ShelfInfo> request);

        public Task<ResponseCommon<object>> deleteShelfInfo(DeleteInfosRequest request);


        /// <summary>
        /// 查询库位列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task<PageQueryResponse<StoreInfo>> GetStores(GetStoresRequest request);

        /// <summary>
        /// 禁用或启用库位
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public Task<ResponseCommon> disableOrEnableStore(DisableOrEnableStoreRequest request);

    }
}
