using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using Aitex.Core.Common.DeviceData; using Aitex.Sorter.Common; using MECF.Framework.Common.Equipment; namespace MECF.Framework.Common.Schedulers { public enum EnumMoveType { Place, Pick, Move, } [DataContract] [Serializable] //helper class public class MoveItem : IDeviceData { [DataMember] public ModuleName SourceModule { get; set; } [DataMember] public ModuleType SourceType { get; set; } [DataMember] public int SourceSlot { get; set; } [DataMember] public ModuleName DestinationModule { get; set; } [DataMember] public int DestinationSlot { get; set; } [DataMember] public ModuleType DestinationType { get; set; } [DataMember] public Hand RobotHand { get; set; } public ModuleName Module { get { return ModuleHelper.IsEFEMRobot(SourceModule) ? DestinationModule : SourceModule; } } public EnumMoveType TransferType { get { return EnumMoveType.Move; } } public MoveItem() { } public MoveItem(ModuleName sourceModule, int sourceSlot, ModuleName destinationModule, int destinationSlot, Hand robotHand) { this.SourceModule = sourceModule; this.SourceSlot = sourceSlot; this.DestinationModule = destinationModule; this.DestinationSlot = destinationSlot; this.RobotHand = robotHand; } public void Update(IDeviceData data) { throw new NotImplementedException(); } } }