using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace MECF.Framework.Common.MECF.Framework.Common.RecipeCenter.Recipe
{
    [Serializable]
    [DataContract]
    public class RecipeRunningInfo
    {
        [DataMember]
        public Guid InnerId { get; set; }

        [DataMember]
        public RecipeHead Head { get; set; }
        
        [DataMember]
        public List<RecipeStepInfo> RecipeStepList { get; set; }

        [DataMember]
        public string RecipeName { get; set; }

        [DataMember]
        public DateTime BeginTime { get; set; }

        [DataMember]
        public DateTime EndTime { get; set; }

        [DataMember]
        public int StepNumber { get; set; }

        [DataMember]
        public string StepName { get; set; }

        [DataMember]
        public double StepTime { get; set; }

        [DataMember]
        public double GrowthRate { get; set; }

        [DataMember]
        public double StepElapseTime { get; set; }

        [DataMember]
        public double TotalTime { get; set; }

        [DataMember]
        public double TotalElapseTime { get; set; }

        [DataMember]
        public double StepElapseTime2 { get; set; }

        [DataMember]
        public double TotalElapseTime2 { get; set; }
        
        [DataMember]
        public string ArH2Switch { get; set; }

        [DataMember]
        public string N2FlowMode { get; set; }

        [DataMember]
        public bool IsRoutineAbort { get; set; }

        [DataMember]
        public bool NeedReloadRecipe { get; set; }

        [DataMember]
        public string XmlRecipeToReload { get; set; }

        [DataMember]
        public Dictionary<string, List<string>> HighlightDic { get; set; } = new Dictionary<string, List<string>>();
    }
}
