using Autofac.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.BaseController;
using WIDESEAWCS_QuartzJob.Models;
using WIDESEAWCS_QuartzJob.Service;

namespace WIDESEAWCS_Server.Controllers.QuartzJob
{
    [Route("api/DeviceProtocol")]
    [ApiController]
    public class DeviceProtocolController : ApiBaseController<IDeviceProtocolService, Dt_DeviceProtocol>
    {
        public DeviceProtocolController(IDeviceProtocolService service) : base(service)
        {
        }
        [HttpPost, Route("GetImportData"), AllowAnonymous]
        public WebResponseContent GetImportData(List<IFormFile> fileInput)
        {
            return Service.GetImportData(fileInput);
        }

        [HttpPost, Route("AddAfterDeviceProtocol"), AllowAnonymous]
        public WebResponseContent AddAfterDeviceProtocol(int DeviceID,string DeviceChildCode, decimal DeviceProOffset)
        {
            
            return Service.AddAfterDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffset);
        }

        [HttpPost, Route("AddBeforeDeviceProtocol"), AllowAnonymous]
        public WebResponseContent AddBeforeDeviceProtocol(int DeviceID, string DeviceChildCode, decimal DeviceProOffsetRead,decimal DeviceProOffsetWrite)
        {
            return Service.AddBeforeDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffsetRead, DeviceProOffsetWrite);
        }
        [HttpPost, Route("AddBeforReadDeviceProtocol"), AllowAnonymous]
        public WebResponseContent AddBeforReadDeviceProtocol(int DeviceID, string DeviceChildCode, decimal DeviceProOffsetRead)
        {
            return Service.AddBeforReadDeviceProtocol(DeviceID, DeviceChildCode, DeviceProOffsetRead);
        }
    }
}