| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 | using System;using System.Windows;using System.Windows.Input;using Aitex.Core.RT.Log;using MECF.Framework.Common.CommonData;using MECF.Framework.Common.DataCenter;using OpenSEMI.ClientBase;using OpenSEMI.ClientBase.Command;namespace MECF.Framework.UI.Client.ClientBase{    public class WaferTransferDialogViewModel : DialogViewModel<WaferTransferCondition>    {        private WaferTransferCondition _Conditions;        public WaferTransferCondition Conditions        {            get { return _Conditions; }            set { _Conditions = value; }        }        private string _ConfirmText;        public string ConfirmText        {            get { return _ConfirmText; }            set { _ConfirmText = value; }        }        public bool IsBlade1 { get; set; }        public bool IsBlade2 { get; set; }        public bool DisplayPassAlignerCondition { get; set; }        public bool DisplayPassCoolingCondition { get; set; }        public bool DisplayBladeCondition { get; set; }        public Visibility AlignerVisibility { get; set; }        public Visibility CoolingVisibility { get; set; }        public Visibility BladeVisibility { get; set; }        private ICommand _TransferCommand;        public ICommand TransferCommand        {            get            {                if (this._TransferCommand == null)                    this._TransferCommand = new BaseCommand<EventCommandParameter<object, RoutedEventArgs>>((EventCommandParameter<object, RoutedEventArgs> arg) => this.OnTransferCommand(arg));                return this._TransferCommand;            }        }        private ICommand _BtnCancelCommand;        public ICommand CancelCommand        {            get            {                if (this._BtnCancelCommand == null)                    this._BtnCancelCommand = new BaseCommand<EventCommandParameter<object, RoutedEventArgs>>((EventCommandParameter<object, RoutedEventArgs> arg) => this.OnCancelCommand(arg));                return this._BtnCancelCommand;            }        }        protected override void OnInitialize()        {            base.OnInitialize();        }        public WaferTransferDialogViewModel(string message, bool displayPassAlignerCondition, bool displayPassCoolingCondition, bool displayBladeCondition = false)        {            AlignerVisibility = Visibility.Visible;            CoolingVisibility = Visibility.Visible;            BladeVisibility = displayBladeCondition ? Visibility.Visible : Visibility.Hidden;            this.DisplayName = "Wafer Transfer Dialog";            ConfirmText = message;            Conditions = new WaferTransferCondition();            DisplayPassAlignerCondition = displayPassAlignerCondition;            DisplayPassCoolingCondition = displayPassCoolingCondition;            DisplayBladeCondition = displayBladeCondition;            try            {                var defaultAutoAlign = QueryDataClient.Instance.Service.GetConfig("System.AutoAlignManualTransfer");                if (!displayPassAlignerCondition)                    defaultAutoAlign = false;                var defaultPassCooling = QueryDataClient.Instance.Service.GetConfig("System.AutoPassCooling");                if (!displayPassCoolingCondition)                    defaultPassCooling = false;                Conditions.IsPassAligner = defaultAutoAlign == null || (bool)defaultAutoAlign;                Conditions.IsPassCooling = defaultPassCooling == null || (bool)defaultPassCooling;                var alignerAngle = QueryDataClient.Instance.Service.GetConfig("Aligner.DefaultNotchDegree");                var coolingTime = QueryDataClient.Instance.Service.GetConfig("LoadLock.DefaultCoolingTime");                if (alignerAngle != null)                    Conditions.AlignerAngle = (int)((double)alignerAngle);                if (coolingTime != null)                    Conditions.CoolingTime = (int)coolingTime;            }            catch (Exception ex)            {                LOG.Write(ex);            }        }        private void OnTransferCommand(EventCommandParameter<object, RoutedEventArgs> arg)        {            if (IsBlade1)                Conditions.Blade = RobotArm.ArmA;            else if (IsBlade2)                Conditions.Blade = RobotArm.ArmB;            DialogResult = Conditions;            TryClose(true);        }        private void OnCancelCommand(EventCommandParameter<object, RoutedEventArgs> arg)        {            TryClose(false);        }    }}
 |