using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace MesAdaptor { public enum MesType { none, shinewave, sajet, sajet2, test } public static class SajetConnect { public static ISajetConnect Instance { get; internal set; } public static List DefinedMes = new List() { "php", "shinewave", "phv", "sajet", "sajet2" }; public static bool SajetTransStart() => Instance.SajetTransStart(); public static bool SajetTransClose() => Instance == null ? false : Instance.SajetTransClose(); public static bool SajetTransSignIn(ref string data) => Instance.SajetTransSignIn(ref data); public static bool SajetTransWoCheck(ref string workOrder) => Instance.SajetTransWoCheck(ref workOrder); public static bool SajetTransSnCheck(ref string serialNumber) => Instance.SajetTransSnCheck(ref serialNumber); public static bool SajetTranFinishSuccess() => Instance.SajetTranFinishSuccess(); public static bool SajetTranFinishFail(MesErrorCode errorCode) => Instance.SajetTranFinishFail(errorCode); public static string SajetTransRegisterHeader(string model, string header) => Instance.SajetTransRegisterHeader(model, header); public static bool SajetTransReport(ValueReportDatas reportPair) => Instance.SajetTransReport(reportPair); public static bool SajetTransLog(string data) => Instance.SajetTransLog(data); public static void SetMes(string mesSetting = "",string mechineCode = "") { if (mesSetting is null) { SajetConnect.Instance = new SajectConnectTest(); return; } mesSetting = mesSetting.ToLower(); switch (mesSetting) { case "php": case "shinewave": SajetConnect.Instance = new SajetConnectShinewave(); break; case "sajet": SajetConnect.Instance = new SajectConnectSajet(); break; //case "phv": case "phv": case "sajet2": SajetConnect.Instance = new SajectConnectSajet2(mechineCode); break; default: SajetConnect.Instance = new SajectConnectTest(); break; } } } }