| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- using System;
 
- using System.Collections.Generic;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using Aitex.Core.RT.Log;
 
- using Aitex.Sorter.Common;
 
- using Caliburn.Micro;
 
- using MECF.Framework.Common.OperationCenter;
 
- using OpenSEMI.ClientBase;
 
- using OpenSEMI.Ctrlib.Controls;
 
- using VirgoUI.Client.Dialog;
 
- namespace VirgoUI.Client
 
- {
 
-     public class WaferMoveManager
 
-     {
 
-         #region single Instance
 
-         private WaferMoveManager()
 
-         {
 
-         }
 
-         private static WaferMoveManager m_Instance = null;
 
-         public static WaferMoveManager Instance
 
-         {
 
-             get
 
-             {
 
-                 if (m_Instance == null)
 
-                 {
 
-                     m_Instance = new WaferMoveManager();
 
-                 }
 
-                 return m_Instance;
 
-             }
 
-         }
 
-         #endregion
 
-         public void TransferWafer(Slot p_from, Slot p_to, float tempToChamber)
 
-         {
 
-             try
 
-             {
 
-                 if (p_from == null || p_to == null || !p_from.IsValidSlot() || !p_to.IsValidSlot())
 
-                     return;
 
-   
 
-                 string info = " from " + p_from.ModuleID + " slot " + (p_from.SlotID + 1).ToString() + " to " + p_to.ModuleID + " slot " + (p_to.SlotID + 1).ToString();
 
-                 string message = "Are you sure to transfer the wafer: \n" + info;
 
-                 bool displayAlignerCondition = (p_from.ModuleID != "Aligner1" && p_to.ModuleID != "Aligner1"
 
-                                                                               && p_from.ModuleID != "Aligner2" && p_to.ModuleID != "Aligner2"
 
-                                                                               && p_from.ModuleID != "Cooling1" && p_to.ModuleID != "Cooling1"
 
-                  && p_from.ModuleID != "Cooling2" && p_to.ModuleID != "Cooling2") && !p_from.ModuleID.Contains("PM");
 
-                 bool displayCoolingCondition = p_from.ModuleID.Contains("PM") && (ModuleManager.ModulesID.Contains("Cooling1") || ModuleManager.ModulesID.Contains("Cooling2"));
 
-                 displayCoolingCondition = displayCoolingCondition && !p_to.ModuleID.Contains("PM");
 
-                 string labelChamber = "";
 
-                 if (p_to.ModuleID.Contains("PM"))
 
-                 {
 
-                     labelChamber = $"{p_to.ModuleID} Temp. {tempToChamber:F2}℃";
 
-                 }
 
-                 WindowManager wm = new WindowManager();
 
-                 WaferTransferDialogViewModel _transferVM = new WaferTransferDialogViewModel(message, displayAlignerCondition, displayCoolingCondition, labelChamber);
 
-                 bool? bret = wm.ShowDialogWithNoStyle(_transferVM);
 
-                 if ((bool)bret)
 
-                 {
 
-                     //get and use transfer conditions
 
-                     WaferTransferCondition conditions = _transferVM.DialogResult;
 
-                     InvokeClient.Instance.Service.DoOperation("System.MoveWafer",
 
-                         p_from.ModuleID, p_from.SlotID, p_to.ModuleID, p_to.SlotID,
 
-                         conditions.IsPassAligner, conditions.AlignerAngle, conditions.IsPassCooling, conditions.CoolingTime, "Blade1");
 
-                 }
 
-                 p_from.ClearDragDropStatus();
 
-                 p_to.ClearDragDropStatus();
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LOG.Write(ex);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |