using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsEnumDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsStores;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.HIAWms.Domain.Shared.Util;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Web;
using static CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsAreas.WmsAreaCreateOrUpdateDtoBase;
namespace CMS.Plugin.HIAWms.Controller
{
    /// 
    /// 枚举服务接口.
    /// 
    [ApiController]
    [TypeFilter(typeof(CMSLanguageFilter))]
    [TypeFilter(typeof(CMSUowActionFilter))]
    [TypeFilter(typeof(CMSAuditActionFilter))]
    [TypeFilter(typeof(CMSExceptionFilter))]
    [Route("api/v{version:apiVersion}/HIAWms/[controller]")]
    public class WmsEnumController : ControllerBase
    {
        private readonly IWmsEnumAppService _wmsEnumAppService;
        /// 
        /// Initializes a new instance of the  class.
        /// 构造函数.
        /// 
        /// 
        public WmsEnumController(IWmsEnumAppService wmsEnumAppService)
        {
            _wmsEnumAppService = wmsEnumAppService;
        }
        /// 
        /// 获取枚举数据.
        /// 
        /// 
        /// 
        [HttpPost]
        public List GetEnumDataList(WmsEnumInput input)
        {
            return _wmsEnumAppService.GetEnumDataList(input);
        }
        /// 
        /// 获取仓库列表
        /// 
        /// 
        [HttpGet]
        [Route("StoreList")]
        public async Task> GetStreList()
        {
            return await _wmsEnumAppService.GetStreList();
        }
        /// 
        /// 库区列表
        /// 
        /// 
        [HttpGet]
        [Route("AreaList")]
        public async Task> GetAreaListAsync()
        {
            return await _wmsEnumAppService.GetAreaListAsync();
        }
    }
}