using MECF.Framework.Common.SubstrateTrackings;
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;

namespace MECF.Framework.Common.WaferHolder
{
    [ServiceContract]
    public interface IWaferHolderDataService
    {

        /// <summary>
        /// 获取所有载具数据
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        List<WaferHolderInfo> GetAllWaferHolderDatas();
        /// <summary>
        /// 根据Location获取WaferHolder信息
        /// </summary>
        /// <returns></returns>
        [OperationContract]
        WaferHolderInfo GetWaferHolderDataByLocation(string location);
        /// <summary>
        /// 更新载具可用性
        /// </summary>
        /// <param name="waferHolderId"></param>
        /// <param name="enable"></param>
        [OperationContract]
        int UpdateWaferHolderEnable(string waferHolderId, bool enable);
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="bufferId"></param>
        /// <param name="waferHolderInfo"></param>
        /// <returns></returns>
        [OperationContract]
        int AddWaferHolderData(int bufferId, WaferHolderInfo waferHolderInfo);
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="waferHolderId"></param>
        /// <param name="info"></param>
        /// <returns></returns>
        [OperationContract]
        int UpdateWaferHolderData(string waferHolderId, WaferHolderInfo info,bool sync);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="waferHolderId"></param>
        /// <returns></returns>
        [OperationContract]
        int DeleteWaferHolderData(string waferHolderId);
    }
}