using System.Collections.Generic;
using CncModels.Dto;
using CncModels.Dto.CollectAddress;
namespace CncService.Interface
{
    /// <summary>
    /// 采集地址服务接口
    /// </summary>
    public interface ICollectAddressService
    {
        PagedResult<CollectAddressListItem> GetList(CollectAddressQuery query);
        CollectAddressDetailResponse GetById(int id);
        int Create(CreateCollectAddressRequest request);
        bool Update(int id, UpdateCollectAddressRequest request);
        bool Delete(int id);
        int BatchDelete(List<int> ids);
        bool ToggleEnabled(int id);

        /// <summary>
        /// 获取采集地址下关联机床列表
        /// </summary>
        List<CollectAddressMachineItem> GetMachines(int collectAddressId);

        /// <summary>
        /// 获取采集地址近期采集记录
        /// </summary>
        List<CollectAddressRecordItem> GetCollectRecords(int collectAddressId);

        /// <summary>
        /// 获取最新原始采集JSON
        /// </summary>
        CollectAddressRawJsonResponse GetRawJson(int collectAddressId, string recordId = null);
    }
}
