using LY.App.Model;
using LY.App.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Drawing.Printing;
using System.Security.Permissions;
namespace LY.App.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class DeviceController : ControllerBase
    {
        private readonly DeviceService _deviceService;
        public DeviceController(DeviceService deviceService)
        {
            _deviceService = deviceService;
        }
        /// 
        /// 新增设备
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task Add(AddDevice input)
        {
            var result = await _deviceService.Add(input);
            return Ok(result);
        }
        /// 
        /// 列表
        /// 
        /// 
        /// 
        /// 
        /// 
        [HttpGet("list")]
        public async Task List(int pageNum = 1, int pageSize = 10, string key = null)
        {
            var result = await _deviceService.List(pageNum, pageSize, key);
            return Ok(result);
        }
        /// 
        /// 协议列表
        /// 
        /// 
        [HttpGet("protocollist")]
        public async Task ProtocolTypeList()
        {
            var result = await _deviceService.ProtocolTypeList();
            return Ok(result);
        }
        /// 
        ///更新
        /// 
        /// 
        /// 
        [HttpPost("updata")]
        public async Task Updata(UpdateDevice input)
        {
            var result = await _deviceService.updata(input);
            return Ok(result);
        }
        [HttpDelete("delete")]
        public async Task Delete(long id)
        {
            var result = await _deviceService.delete(id);
            return Ok(result);
        }
    }
}