using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using Aitex.Common.Util; using Aitex.Core.RT.Event; using Aitex.Core.RT.Log; using Aitex.Core.Util; using MECF.Framework.Common.RecipeCenter; namespace Venus_RT.Modules.PMs { public class VenusSequenceFileContext : ISequenceFileContext { public string GetConfigXml() { try { string configContent = PathManager.GetCfgDir() + @"\SequenceFormat.xml"; XmlDocument xmlDom = new XmlDocument(); xmlDom.Load(configContent); CustomSequenceItem(xmlDom); return xmlDom.OuterXml; } catch (Exception ex) { //LOG.Write(ex); return ""; } } public virtual bool Validation(string content) { try { XmlDocument xmlDom = new XmlDocument(); xmlDom.LoadXml(content); CustomValidation(xmlDom); return CustomValidation(xmlDom); } catch (Exception ex) { //LOG.Write(ex); EV.PostWarningLog("Recipe", "sequence file not valid, " + ex.Message); return false; } } public bool EnableEdit(string sequencePathName) { //if (Singleton.Instance.CheckSequenceUsedInJob(sequencePathName)) //{ // EV.PostWarningLog("System", "Sequence is used in auto running jobs, can not be modified"); // return false; //} return true; } public virtual void CustomSequenceItem(XmlDocument xmlContent) { } public virtual bool CustomValidation(XmlDocument xmlContent) { return true; } } }