using TouchSocket.Rpc;
using TouchSocket.WebApi;

#region << 版 本 注 释 >>

/*--------------------------------------------------------------------
* 版权所有 (c) 2024 WenJY 保留所有权利。
* CLR版本：4.0.30319.42000
* 机器名称：T14-GEN3-7895
* 命名空间：SlnMesnac.TouchSocket
* 唯一标识：649766cc-308e-4bf3-8d69-dea48ec40642
*
* 创建者：WenJY
* 电子邮箱：
* 创建时间：2024-09-04 10:51:54
* 版本：V1.0.0
* 描述：
*
*--------------------------------------------------------------------
* 修改人：
* 时间：
* 修改说明：
*
* 版本：V1.0.0
*--------------------------------------------------------------------*/

#endregion << 版 本 注 释 >>

namespace SlnMesnac.TouchSocket
{
    public class ApiServer : RpcServer
    {
        public delegate void RefreshScanInfoInCenterStart();

        /// <summary>
        /// 入库开始事件刷新
        /// </summary>
        public event RefreshScanInfoInCenterStart RefreshScanInfoInCenterStartEvent;

        public delegate void RefreshScanInfoInCenterStop();

        /// <summary>
        /// 入库结束事件刷新
        /// </summary>
        public event RefreshScanInfoInCenterStop RefreshScanInfoInCenterStopEvent;

        public delegate void RefreshScanInfoOutCenterStart();

        /// <summary>
        /// 出库开始事件刷新
        /// </summary>
        public event RefreshScanInfoOutCenterStart RefreshScanInfoOutCenterStartEvent;

        public delegate void RefreshScanInfoOutCenterStop();

        /// <summary>
        /// 出库结束事件刷新
        /// </summary>
        public event RefreshScanInfoOutCenterStop RefreshScanInfoOutCenterStopEvent;

        /// <summary>
        /// 入库开始
        /// </summary>
        /// <param name="messageHeader"></param>
        /// <returns></returns>
        [EnableCors("cors")]
        [WebApi(HttpMethodType.POST)]
        public object getScanInfoInCenterStart(string messageHeader)
        {
            RefreshScanInfoInCenterStartEvent?.Invoke();
            return true;
        }

        /// <summary>
        /// 入库结束
        /// </summary>
        /// <param name="messageHeader"></param>
        /// <returns></returns>
        [EnableCors("cors")]
        [WebApi(HttpMethodType.POST)]
        public object getScanInfoInCenterStop(string messageHeader)
        {
            RefreshScanInfoInCenterStopEvent?.Invoke();
            return true;
        }

        /// <summary>
        /// 出库开始
        /// </summary>
        /// <param name="messageHeader"></param>
        /// <returns></returns>
        [WebApi(HttpMethodType.POST)]
        public object getScanInfoOutCenterStart(string messageHeader)
        {
            RefreshScanInfoOutCenterStartEvent?.Invoke();
            return true;
        }

        /// <summary>
        /// 出库结束
        /// </summary>
        /// <param name="messageHeader"></param>
        /// <returns></returns>
        [WebApi(HttpMethodType.POST)]
        public object getScanInfoOutCenterStop(string messageHeader)
        {
            RefreshScanInfoOutCenterStopEvent?.Invoke();
            return true;
        }
    }
}