using Microsoft.AspNetCore.Mvc;
using WCS.BLL.Services.IService;
using WCS.BLL.Services.Service;
using WCS.Model.ApiModel.MatInventoryDetail;
using WCS.Model;
using WCS.Model.ApiModel.StoreInfo;
using WCS.BLL.DbModels;
using WCS.Model.ApiModel.MatBaseInfo;
using WCS.DAL.DbModels;

namespace WCS.WebApi.Controllers
{
    /// <summary>
    /// 货架管理
    /// </summary>
    [ApiController]
    [Route("[controller]")]
    public class StoreInfoController : ControllerBase
    {
        public IStoreInfoService _storeInfoService { get; set; }
        public StoreInfoController(IStoreInfoService storeInfoService)
        {
            _storeInfoService = storeInfoService;
        }

        #region 货架管理
        [Route("getShelves")]
        [HttpPost(Name = "getShelves")]
        public async Task<ResponseBase> getShelves(GetShelvesRequest request)
        {
            return await _storeInfoService.GetShelves(request);
        }

        [HttpPost("addOrUpdateShelfInfo")]
        public async Task<ResponseCommon<object>> addOrUpdateShelfInfo(AddShelfInfoRequest<ShelfInfo> request)
        {
            return await _storeInfoService.addOrUpdateShelfInfo(request);
        }

        [HttpPost("deleteShelfInfo")]
        public async Task<ResponseCommon<object>> deleteShelfInfo(DeleteInfosRequest request)
        {
            return await _storeInfoService.deleteShelfInfo(request);
        }
        #endregion

        #region 库位管理
        [Route("getStores")]
        [HttpPost(Name = "getStores")]
        public async Task<ResponseBase> getStores(GetStoresRequest request)
        {
            return await _storeInfoService.GetStores(request);
        }
        #endregion
    }
}
