using MECF.Framework.Common.CommonData;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.Common.RecipeCenter
{
public class DqdrRecipe : NotifiableItem
{
#region 内部变量
private int _anodeType;
private string _author;
private string _description;
private string _ppid;
private RecipeType _recipeType = RecipeType.DQDR;
private DateTime _saveDate;
private DateTime _createDate;
private string _platingCell;
private string _linkedDepRecipeName;
private bool _isIdentical;
private int _reclaimSpeed;
private int _reclaimTime;
private int _rinseSpeed;
private int _rinseTime;
private int _drySpeed;
private int _dryTime;
private bool _rinseBeforeEntryEnable;
private int _intervalRinseSpeed;
private int _intervalRinseTime;
#endregion
#region 属性
[JsonProperty]
public int AnodeType { get { return _anodeType; } set { _anodeType = value; InvokePropertyChanged(nameof(AnodeType)); } }
[JsonProperty]
public string Author { get { return _author; } set { _author = value; InvokePropertyChanged(nameof(Author)); } }
[JsonProperty]
public string Description { get { return _description; } set { _description = value; InvokePropertyChanged(nameof(Description)); } }
[JsonProperty]
public string Ppid { get { return _ppid; } set { _ppid = value; InvokePropertyChanged(nameof(Ppid)); } }
[JsonProperty]
public RecipeType RecipeType { get { return _recipeType; } set { _recipeType = value; InvokePropertyChanged(nameof(RecipeType)); } }
[JsonProperty]
public DateTime SaveDate { get { return _saveDate; } set { _saveDate = value; InvokePropertyChanged(nameof(SaveDate)); } }
[JsonProperty]
public DateTime CreateDate { get { return _createDate; } set { _createDate = value; InvokePropertyChanged(nameof(CreateDate)); } }
[JsonProperty]
public string PlatingCell { get { return _platingCell; } set { _platingCell = value; InvokePropertyChanged(nameof(PlatingCell)); } }
[JsonProperty]
public string LinkedDepRecipeName { get { return _linkedDepRecipeName; } set { _linkedDepRecipeName = value; InvokePropertyChanged(nameof(LinkedDepRecipeName)); } }
[JsonProperty]
public bool IsIdentical { get { return _isIdentical; } set { _isIdentical = value; InvokePropertyChanged(nameof(IsIdentical)); } }
[JsonProperty]
public int ReclaimSpeed { get { return _reclaimSpeed; } set { _reclaimSpeed = value; InvokePropertyChanged(nameof(ReclaimSpeed)); } }
[JsonProperty]
public int ReclaimTime { get { return _reclaimTime; } set { _reclaimTime = value; InvokePropertyChanged(nameof(ReclaimTime)); } }
[JsonProperty]
public int RinseSpeed { get { return _rinseSpeed; } set { _rinseSpeed = value; InvokePropertyChanged(nameof(RinseSpeed)); } }
[JsonProperty]
public int RinseTime { get { return _rinseTime; } set { _rinseTime = value; InvokePropertyChanged(nameof(RinseTime)); } }
[JsonProperty]
public int DrySpeed { get { return _drySpeed; } set { _drySpeed = value; InvokePropertyChanged(nameof(DrySpeed)); } }
[JsonProperty]
public int DryTime { get { return _dryTime; } set { _dryTime = value; InvokePropertyChanged(nameof(DryTime)); } }
[JsonProperty]
public bool RinseBeforeEntryEnable { get { return _rinseBeforeEntryEnable; } set { _rinseBeforeEntryEnable = value; InvokePropertyChanged(nameof(RinseBeforeEntryEnable)); } }
[JsonProperty]
public int IntervalRinseSpeed { get { return _intervalRinseSpeed; } set { _intervalRinseSpeed = value; InvokePropertyChanged(nameof(IntervalRinseSpeed)); } }
[JsonProperty]
public int IntervalRinseTime { get { return _intervalRinseTime; } set { _intervalRinseTime = value; InvokePropertyChanged(nameof(IntervalRinseTime)); } }
#endregion
///
/// 计算Recipe总时间,不包含vertical运动时间
///
///
public int CalculateRecipeTotalTime()
{
int count = 0;
count += this.ReclaimTime + this.RinseTime + this.DryTime;
if (this.RinseBeforeEntryEnable)
{
count += IntervalRinseTime;
}
return count;
}
}
}