using SlnMesnac.Model.AirportApiEntity;
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;

namespace SlnMesnac.Repository.service
{
    public interface IManipulatorStateService : IBaseService<ManipulatorState>
    {
        /// <summary>
        /// 查询空闲的机械臂信息
        /// </summary>
        /// <returns></returns>
        List<ManipulatorState> GetFreeManipulatorState();

        /// <summary>
        /// 查询所有机械臂信息
        /// </summary>
        /// <returns></returns>
        List<ManipulatorState> GetAllManipulatorState();

        /// <summary>
        /// 更新机械臂设备状态信息
        /// </summary>
        /// <param name="record"></param>
        /// <returns></returns>
        Task<bool> UpdateAsync(ManipulatorState record);

        /// <summary>
        /// 更新或插入机械臂设备状态信息
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        Task<bool> UpdateOrAddByResponse(ManipulatorStateResponseEntity response);
    }
}