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

namespace SlnMesnac.Repository.service
{
    public interface IAGVStateService: IBaseService<AGVState>
    {
        /// <summary>
        /// 查询AGV状态
        /// </summary>
        /// <returns></returns>
        List<AGVState> GetAgvState(AgvType AgvType);

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

        /// <summary>
        /// 查询所有AGV状态
        /// </summary>
        /// <returns></returns>
        List<AGVState> GetAllAGVState();

        /// <summary>
        /// 根据响应数据插入或更新数据
        /// </summary>
        /// <param name="response"></param>
        /// <returns></returns>
        Task<bool> UpdateOrAddByResponse(AGVStateResponseEntity response);

    }
}