using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServices; using System.Text; using System.Threading.Tasks; namespace AwInitilizer.DLL { public enum MesType { none, shinewave, sajet } public class SajetConnect { public static bool IsEmsEnabled { get; set; } = true; public static MesType Type { get => SajetConnectDLLSelector.Type; set => SajetConnectDLLSelector.Type = value; } public static bool SajetTransStart() => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransStart() : true; public static bool SajetTransClose() => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransClose() : true; public static bool SajetTransSignIn(ref string data) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransSignIn(ref data) : true; public static bool SajetTransWoCheck(ref string workOrder) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransWoCheck(ref workOrder) : true; public static bool SajetTransSnCheck(ref string serialNumber) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransSnCheck(ref serialNumber) : true; public static bool SajetTranFinish(bool Result) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTranFinish(Result) : true; public static string SajetTransRegisterHeader(string model, string header) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransRegisterHeader(model, header) : ""; public static bool SajetTransReport(Dictionary resultPair, Dictionary codePair) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransReport(resultPair, codePair) : true; public static bool SajetTransLog(string data, bool isError) => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransLog(data, isError) : true; } public static class SajetConnectDLLSelector { public static MesType Type { get; set; } public static bool SajetTransStart() => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransStart() : SajectConnectSajet.SajetTransStart(); public static bool SajetTransClose() => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransClose() : SajectConnectSajet.SajetTransClose(); public static bool SajetTransSignIn(ref string data) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransSignIn(ref data) : SajectConnectSajet.SajetTransSignIn(ref data); public static bool SajetTransWoCheck(ref string workOrder) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransWoCheck(ref workOrder) : SajectConnectSajet.SajetTransWoCheck(ref workOrder); public static bool SajetTransSnCheck(ref string serialNumber) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransSnCheck(ref serialNumber) : SajectConnectSajet.SajetTransSnCheck(ref serialNumber); public static bool SajetTranFinish(bool Result) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTranFinish(Result) : SajectConnectSajet.SajetTranFinish(Result); public static string SajetTransRegisterHeader(string model, string header) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransRegisterHeader(model, header) : SajectConnectSajet.SajetTransRegisterHeader(model, header); public static bool SajetTransReport(Dictionary resultPair, Dictionary codePair) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransReport(resultPair, codePair) : SajectConnectSajet.SajetTransReport(resultPair, codePair); public static bool SajetTransLog(string data, bool isError) => Type == MesType.shinewave ? SajetConnectShinewave.SajetTransLog(data, isError) : SajectConnectSajet.SajetTransLog(data, isError); } }