using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
using MECF.Framework.UI.Client.ClientBase;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using FurnaceUI.Models;
using FurnaceUI.Views.Recipes;
namespace FurnaceUI.Views.Editors
{
public class RecipeWaferChargeRuleViewModel : FurnaceUIViewModelBase
{
public RecipeDataLayout CurrentRecipe { get; set; } = new RecipeDataLayout();
public RecipeLayoutEntityNormal NormalEntity { get; set; }
public bool IsLeaveAsChecked { get; set; }
public bool IsPackWholeChecked { get; set; }
public bool IsMoveChecked { get; set; }
public bool IsDoNotMoveChecked { get; set; }
public bool IsWhenCassetteLeaveAsChecked { get; set; }
public bool IsWhenCassetteSupplyEDChecked { get; set; }
public bool IsWhenCassetteAbortWhenShortChecked { get; set; }
public bool IsWhenWaferLeaveAsChecked { get; set; }
public bool IsWhenWaferSupplyEDChecked { get; set; }
public bool IsWhenWaferAbortWhenShortChecked { get; set; }
public bool IsWhenEDLeaveAsChecked { get; set; }
public bool IsWhenEDAbortWhenErrorChecked { get; set; }
public bool IsWhenEDWarningAndContinueChecked { get; set; }
public bool IsRuleOfSpaceLeaveAsChecked { get; set; }
public bool IsRuleOfSpaceSupplyEDChecked { get; set; }
public bool IsEnable => CGlobal.RecipeLayoutEditViewEnable;//是否是View模式
protected override void OnInitialize()
{
base.OnInitialize();
IsLeaveAsChecked = NormalEntity.WhenPWaferShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenPWaferShort);
IsPackWholeChecked = !IsLeaveAsChecked;
IsDoNotMoveChecked = NormalEntity.SDRule == "DonotMove" || string.IsNullOrEmpty(NormalEntity.SDRule);
IsMoveChecked = !IsDoNotMoveChecked;
IsRuleOfSpaceLeaveAsChecked = NormalEntity.RuleOfSpaceInBoat == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.RuleOfSpaceInBoat);
IsRuleOfSpaceSupplyEDChecked = !IsRuleOfSpaceLeaveAsChecked;
this.ThreeChecked();
}
public void EndEdit()
{
NormalEntity.WhenPWaferShort = IsLeaveAsChecked ? "LeaveAs" : "PackWholeP+M";
NormalEntity.SDRule = IsMoveChecked ? "Move" : "DonotMove";
NormalEntity.RuleOfSpaceInBoat = IsRuleOfSpaceLeaveAsChecked ? "LeaveAs" : "SupplyED";
this.ThreeChose();
((Window)GetView())?.Close();
}
///
/// 三个选项选一保存
///
public void ThreeChose()
{
if (IsWhenCassetteLeaveAsChecked)
{
NormalEntity.WhenCassetteInBatchAreShort = "LeaveAs";
}
if (IsWhenCassetteSupplyEDChecked)
{
NormalEntity.WhenCassetteInBatchAreShort = "SupplyED";
}
if (IsWhenCassetteAbortWhenShortChecked)
{
NormalEntity.WhenCassetteInBatchAreShort = "AbortWhenShort";
}
if (IsWhenWaferLeaveAsChecked)
{
NormalEntity.WhenWaferInCassetteAreShort = "LeaveAs";
}
if (IsWhenWaferSupplyEDChecked)
{
NormalEntity.WhenWaferInCassetteAreShort = "SupplyED";
}
if (IsWhenWaferAbortWhenShortChecked)
{
NormalEntity.WhenWaferInCassetteAreShort = "AbortWhenShort";
}
if (IsWhenEDLeaveAsChecked)
{
NormalEntity.WhenEDAreShort = "LeaveAs";
}
if (IsWhenEDAbortWhenErrorChecked)
{
NormalEntity.WhenEDAreShort = "AbortWhenError";
}
if (IsWhenEDWarningAndContinueChecked)
{
NormalEntity.WhenEDAreShort = "WarningAndContinue";
}
}
///
/// 显示之前选中的值
///
public void ThreeChecked()
{
IsWhenCassetteLeaveAsChecked = NormalEntity.WhenCassetteInBatchAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenCassetteInBatchAreShort);
IsWhenCassetteSupplyEDChecked = NormalEntity.WhenCassetteInBatchAreShort == "SupplyED";
IsWhenCassetteAbortWhenShortChecked = NormalEntity.WhenCassetteInBatchAreShort == "AbortWhenShort";
IsWhenWaferLeaveAsChecked = NormalEntity.WhenWaferInCassetteAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenWaferInCassetteAreShort);
IsWhenWaferSupplyEDChecked = NormalEntity.WhenWaferInCassetteAreShort == "SupplyED";
IsWhenWaferAbortWhenShortChecked = NormalEntity.WhenWaferInCassetteAreShort == "AbortWhenShort";
IsWhenEDLeaveAsChecked = NormalEntity.WhenEDAreShort == "LeaveAs" || string.IsNullOrEmpty(NormalEntity.WhenEDAreShort);
IsWhenEDAbortWhenErrorChecked = NormalEntity.WhenEDAreShort == "AbortWhenError";
IsWhenEDWarningAndContinueChecked = NormalEntity.WhenEDAreShort == "WarningAndContinue";
}
public void Close()
{
((Window)GetView())?.Close();
}
}
}