Browse Source

merge tow version and enable change by setting
reversion back to 1.0.0

Robert 3 years ago
parent
commit
1c57055612

+ 2 - 2
AwInitilizer/App.xaml.cs

@@ -51,11 +51,11 @@ namespace AwInitilizer
 
             if (mesSetting == "php" || mesSetting == "shinewave")
             {
-
+                SajetConnect.Type = MesType.shinewave;
             }
             else if (mesSetting == "phv" || mesSetting == "sajet")
             {
-
+                SajetConnect.Type = MesType.sajet;
             }
         }
 

+ 228 - 0
AwInitilizer/DLL/SajectConnectSajet.cs

@@ -0,0 +1,228 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AwInitilizer.DLL
+{
+    public class SajectConnectSajet
+    {
+        public enum CMD
+        {
+            Signin = 1,
+            SnCheck = 2,
+            WoCheck = 14,
+            Report = 3,
+            Log = 4,
+            HeaderRegister = 8,
+            ValueReport = 5,
+            StringValueReport = 6,
+        }
+
+        public static bool SajetTransStart() => SajetConnectAdapter.SajetTransStart();
+        public static bool SajetTransClose() => SajetConnectAdapter.SajetTransClose();
+
+        private static string userId = "";
+        public static bool SajetTransSignIn(ref string data)
+        {
+            var attemptId = data;
+            if (SajetTransData(CMD.Signin, ref data))
+            {
+                if (string.IsNullOrEmpty(data) || data.StartsWith("NG"))
+                {
+                    userId = "";
+                    return false;
+                }
+                else
+                {
+                    userId = attemptId;
+                    return true;
+                }
+            }
+            userId = "";
+            return false;
+        }
+
+        private static string WorkOrder = "";
+        public static bool SajetTransWoCheck(ref string workOrder)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (workOrder == null)
+                workOrder = "";
+            var msg = userId + ";" + workOrder;
+
+            if (SajetTransData(CMD.WoCheck, ref msg))
+            {
+                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
+                {
+                    WorkOrder = "";
+                    return false;
+                }
+                else
+                {
+                    WorkOrder = workOrder;
+                    return true;
+                }
+            }
+            WorkOrder = "";
+            return false;
+        }
+
+        private static string SN;
+        public static bool SajetTransSnCheck(ref string serialNumber)
+        {
+            var attemptSN = serialNumber;
+            var msg = serialNumber;
+
+            if (SajetTransData(CMD.SnCheck, ref msg))
+            {
+                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
+                {
+                    SN = "";
+                    return false;
+                }
+                else
+                {
+                    SN = attemptSN;
+                    return true;
+                }
+            }
+            SN = "";
+            return false;
+        }
+
+        public static bool SajetTranFinish(bool Result)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + ";" + SN + ";";
+
+            if (string.IsNullOrEmpty(msg))
+                return false;
+
+            if (Result)
+            {
+                msg += "OK";
+            }
+            else
+            {
+                msg += "NG;E114;";
+            }
+            return SajetTransData(CMD.Report, ref msg);
+        }
+
+        public static string SajetTransRegisterHeader(string model, string header)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return "";
+            var msg = userId + ";";
+            msg += model + ";" + header;
+            if (SajetTransData(CMD.HeaderRegister, ref msg))
+            {
+                if (msg.StartsWith("OK"))
+                {
+                    //get codename
+                    msg = msg.Substring(3);
+                    var spaceIndex = msg.IndexOf(";");
+                    if (spaceIndex > 0)
+                    {
+                        msg = msg.Substring(0, spaceIndex);
+                    }
+                    return msg;
+                }
+                return null;
+            }
+            return null;
+        }
+
+        public static bool SajetTransReport(Dictionary<string, int> resultPair, Dictionary<string, string> codePair)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + ";" + SN;
+            foreach (var result in resultPair)
+            {
+                if (codePair.Keys.Contains(result.Key))
+                {
+                    msg += string.Format(";{0}:{1}", codePair[result.Key], string.Format("{0}.00", result.Value));
+                }
+                msg += ";";
+                SajetTransData(CMD.ValueReport, ref msg);
+                msg = userId + ";" + SN;
+            }
+            msg += ";";
+            return true;
+        }
+
+        public static bool SajetTransReport(Dictionary<string, string> resultPair, Dictionary<string, string> codePair)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + ";" + SN;
+            foreach (var result in resultPair)
+            {
+                if (codePair.Keys.Contains(result.Key))
+                {
+                    msg += string.Format(";{0}:{1}", codePair[result.Key], string.Format("{0}.00", result.Value));
+                }
+                msg += ";";
+                SajetTransData(CMD.StringValueReport, ref msg);
+                msg = userId + ";" + SN;
+            }
+            msg += ";";
+            return true;
+        }
+
+        public static bool SajetTransLog(string data, bool isError)
+        {
+            return true;
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string prefix = userId + ";" + SN + ";";
+            while (data.Length > 0)
+            {
+                var msg = prefix;
+                int sendLength = Math.Min(250 - msg.Length, data.Length);
+                var sendString = data.Substring(0, sendLength);
+                msg += sendString;
+                if (!SajetTransData(CMD.Log, ref msg))
+                {
+                    break;
+                }
+                data = data.Substring(sendLength);
+            }
+            return data.Length == 0;
+        }
+
+        private static bool SajetTransData(CMD command, ref string data)
+        {
+            return SajetConnectAdapter.SajetTransData((int)command, ref data);
+        }
+
+        private static string GetSendPrefix()
+        {
+            string msg = "";
+            if (string.IsNullOrEmpty(userId))
+            {
+                return null;
+            }
+            msg = userId + ";";
+            if (string.IsNullOrEmpty(WorkOrder))
+            {
+                return null;
+            }
+            msg += WorkOrder + ";";
+            return msg;
+        }
+    }
+}

+ 45 - 269
AwInitilizer/DLL/SajetConnect.cs

@@ -7,301 +7,77 @@ 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 bool SajetTransStart() => IsEmsEnabled ? SajetConnectDLL.SajetTransStart() : true;
-
-        public static bool SajetTransClose() => IsEmsEnabled ? SajetConnectDLL.SajetTransClose() : true;
-
-        public static bool SajetTransData(int command, IntPtr data, IntPtr length)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransData(command, data, length) : true;
-
-        public static bool SajetTransData_C(int command, out string data)
+        public static MesType Type
         {
-            if(IsEmsEnabled)
-            {
-                return SajetConnectDLL.SajetTransData_C(command, out data);
-            }
-            else
-            {
-                data = "";
-                return true;
-            }
+            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 ? SajetConnectDLL.SajetTransSignIn(ref data) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransSignIn(ref data) : true;
 
         public static bool SajetTransWoCheck(ref string workOrder)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransWoCheck(ref workOrder) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransWoCheck(ref workOrder) : true;
         public static bool SajetTransSnCheck(ref string serialNumber)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransSnCheck(ref serialNumber) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransSnCheck(ref serialNumber) : true;
         public static bool SajetTranFinish(bool Result)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTranFinish(Result) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTranFinish(Result) : true;
         public static string SajetTransRegisterHeader(string model, string header)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransRegisterHeader(model, header) : "";
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransRegisterHeader(model, header) : "";
         public static bool SajetTransReport(Dictionary<string, int> resultPair, Dictionary<string, string> codePair)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransReport(resultPair, codePair) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransReport(resultPair, codePair) : true;
         public static bool SajetTransLog(string data, bool isError)
-            => IsEmsEnabled ? SajetConnectDLL.SajetTransLog(data, isError) : true;
+            => IsEmsEnabled ? SajetConnectDLLSelector.SajetTransLog(data, isError) : true;
     }
 
-
-    public class SajetConnectDLL
+    public static class SajetConnectDLLSelector
     {
-        public enum CMD
-        {
-            Signin = 1, 
-            SnCheck = 15,
-            WoCheck = 14,
-            Report = 16,
-            Log = 4,
-            HeaderRegister = 8,
-            ValueReport = 5
-        }
-
-
-        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
-        public static extern bool SajetTransStart();
-
-        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
-        public static extern bool SajetTransClose();
-
-        //[DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
-        //public static extern bool SajetTransData(int command, IntPtr data, IntPtr length);
+        public static MesType Type { get; set; }
 
-        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
-        public static extern bool SajetTransData(int command, IntPtr data, IntPtr length);
+        public static bool SajetTransStart()
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransStart() : SajectConnectSajet.SajetTransStart();
 
-        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
-        public static extern bool SajetTransData_C(int command, out string data);
+        public static bool SajetTransClose()
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransClose() : SajectConnectSajet.SajetTransClose();
 
-        private static string userId = "";
         public static bool SajetTransSignIn(ref string data)
-        {
-            var attemptId = data;
-            if(SajetTransData(CMD.Signin, ref data))
-            {
-                if(string.IsNullOrEmpty(data) || data.StartsWith("NG"))
-                {
-                    userId = "";
-                    return false;
-                }
-                else
-                {
-                    userId = attemptId;
-                    return true;
-                }
-            }
-            userId = "";
-            return false;
-        }
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransSignIn(ref data) : SajectConnectSajet.SajetTransSignIn(ref data);
 
-        private static string WorkOrder = "";
         public static bool SajetTransWoCheck(ref string workOrder)
-        {
-            if (string.IsNullOrEmpty(userId))
-                return false;
-            if (workOrder == null)
-                workOrder = "";
-            var msg = userId + "," + workOrder + ",";
-
-            if (SajetTransData(CMD.WoCheck, ref msg))
-            {
-                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
-                {
-                    WorkOrder = "";
-                    return false;
-                }
-                else
-                {
-                    WorkOrder = workOrder;
-                    return true;
-                }
-            }
-            WorkOrder = "";
-            return false;
-        }
-        
-        private static string SN;
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransWoCheck(ref workOrder) : SajectConnectSajet.SajetTransWoCheck(ref workOrder);
         public static bool SajetTransSnCheck(ref string serialNumber)
-        {
-            var attemptSN = serialNumber;
-            if (string.IsNullOrEmpty(userId))
-                return false;
-            if (WorkOrder == null)
-                WorkOrder = "";
-            var msg = userId + "," + WorkOrder + "," + serialNumber + ",";
-
-            if (SajetTransData(CMD.SnCheck, ref msg))
-            {
-                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
-                {
-                    SN = "";
-                    return false;
-                }
-                else
-                {
-                    SN = attemptSN;
-                    return true;
-                }
-            }
-            SN = "";
-            return false;
-        }
-
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransSnCheck(ref serialNumber) : SajectConnectSajet.SajetTransSnCheck(ref serialNumber);
         public static bool SajetTranFinish(bool Result)
-        {
-            if (string.IsNullOrEmpty(userId))
-                return false;
-            if (string.IsNullOrEmpty(WorkOrder))
-                return false;
-            if (string.IsNullOrEmpty(SN))
-                return false;
-            string msg = userId +"," + WorkOrder + "," + SN + ",";
-
-            if (string.IsNullOrEmpty(msg))
-                return false;
-#if DEBUG
-            Result = false;
-
-            if (!Result)
-                return true;
-#endif
-
-            if (Result)
-            {
-                msg += "OK,";
-            }
-            else
-            {
-                msg += "NG,";
-            }
-            return SajetTransData(CMD.Report, ref msg);
-        }
-
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTranFinish(Result) : SajectConnectSajet.SajetTranFinish(Result);
         public static string SajetTransRegisterHeader(string model, string header)
-        {
-            if (string.IsNullOrEmpty(userId))
-                return "";
-            var msg = userId + ",";
-            msg += model + "," + header;
-            if (SajetTransData(CMD.HeaderRegister,ref msg))
-            {
-                if(msg.StartsWith("OK"))
-                {
-                    //get codename
-                    msg = msg.Substring(3);
-                    var spaceIndex = msg.IndexOf(",");
-                    if (spaceIndex > 0)
-                    {
-                        msg = msg.Substring(0, spaceIndex);
-                    }
-                    return msg;
-                }
-                return null;
-            }
-            return null;
-        }
-
-        public static bool SajetTransReport(Dictionary<string,int> resultPair,Dictionary<string,string> codePair)
-        {
-            if (string.IsNullOrEmpty(userId))
-                return false;
-            if (string.IsNullOrEmpty(SN))
-                return false;
-            string msg = userId + "," + SN + ",";
-            foreach(var result in resultPair)
-            {
-                if(codePair.Keys.Contains(result.Key))
-                {
-                    msg += string.Format("{0}:{1},", codePair[result.Key],string.Format("{0}.00", result.Value) );
-                }
-            }
-            return SajetTransData(CMD.ValueReport,ref msg);
-        }
-
-        public static bool SajetTransLog (string data,bool isError)
-        {
-            if (string.IsNullOrEmpty(userId))
-                return false;
-            if (string.IsNullOrEmpty(SN))
-                return false;
-            string prefix = userId + "," + SN + ",";
-            while (data.Length > 0)
-            {
-                var msg = prefix;
-                int sendLength = Math.Min(250 - msg.Length, data.Length);
-                var sendString = data.Substring(0, sendLength);
-                msg += sendString;
-                if (!SajetTransData(CMD.Log, ref msg))
-                {
-                    break;
-                }
-                data = data.Substring(sendLength);
-            }
-            return data.Length == 0;
-        }
-
-        private static bool SajetTransData(CMD command, ref string data)
-        {
-            return SajetTransData((int)command,ref data);
-        }
-
-        private static string GetSendPrefix()
-        {
-            string msg = "";
-            if (string.IsNullOrEmpty(userId))
-            {
-                return null;
-            }
-            msg = userId + ",";
-            if (string.IsNullOrEmpty(WorkOrder))
-            {
-                return null;
-            }
-            msg += WorkOrder + ",";
-            return msg;
-        }
-
-        private static bool SajetTransData(int command,ref string data)
-        {
-            //return true;
-            if(!data.EndsWith(","))
-            {
-                data = data + ",";
-            }
-
-            var idByte = Encoding.ASCII.GetBytes(data);
-            var length = idByte.Length;
-
-            var dataArrayLength = Math.Max(length, 100);
-            var dataArray = new byte[dataArrayLength];
-            Array.Copy(idByte, 0, dataArray, 0, length);
-
-            IntPtr dataIntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(dataArrayLength);
-            System.Runtime.InteropServices.Marshal.Copy(dataArray, 0, dataIntPtr, dataArray.Length);
-
-            IntPtr lengthIntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(10);
-            System.Runtime.InteropServices.Marshal.WriteInt32(lengthIntPtr, length);
-
-            var sendResult = SajetConnect.SajetTransData(command, dataIntPtr, lengthIntPtr);
-
-            var resultString1 = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(dataIntPtr);
-
-            System.Runtime.InteropServices.Marshal.Copy(dataIntPtr, dataArray, 0, dataArrayLength);
-            //System.Runtime.InteropServices.Marshal.Release(dataIntPtr);
-            System.Runtime.InteropServices.Marshal.FreeCoTaskMem(dataIntPtr);
-
-            var readLength = System.Runtime.InteropServices.Marshal.ReadInt32(lengthIntPtr);
-            //System.Runtime.InteropServices.Marshal.Release(lengthIntPtr);
-
-            var resultString = Encoding.ASCII.GetString(dataArray);
-
-            data = resultString1.Substring(0, Math.Min(readLength, resultString1.Length));
-            return sendResult;
-        }
+            => Type == MesType.shinewave ?
+            SajetConnectShinewave.SajetTransRegisterHeader(model, header) : SajectConnectSajet.SajetTransRegisterHeader(model, header);
+        public static bool SajetTransReport(Dictionary<string, int> resultPair, Dictionary<string, string> 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);
     }
 }

+ 65 - 0
AwInitilizer/DLL/SajetConnectAdapter.cs

@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AwInitilizer.DLL
+{
+    public static class SajetConnectAdapter
+    {
+        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
+        public static extern bool SajetTransStart();
+
+        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
+        public static extern bool SajetTransClose();
+
+        //[DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
+        //public static extern bool SajetTransData(int command, IntPtr data, IntPtr length);
+
+        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
+        public static extern bool SajetTransData(int command, IntPtr data, IntPtr length);
+
+        [DllImport("SajetConnect.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
+        public static extern bool SajetTransData_C(int command, out string data);
+
+        public static bool SajetTransData(int command, ref string data)
+        {
+            //return true;
+            if (!data.EndsWith(","))
+            {
+                data = data + ",";
+            }
+
+            var idByte = Encoding.ASCII.GetBytes(data);
+            var length = idByte.Length;
+
+            var dataArrayLength = Math.Max(length, 100);
+            var dataArray = new byte[dataArrayLength];
+            Array.Copy(idByte, 0, dataArray, 0, length);
+
+            IntPtr dataIntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(dataArrayLength);
+            System.Runtime.InteropServices.Marshal.Copy(dataArray, 0, dataIntPtr, dataArray.Length);
+
+            IntPtr lengthIntPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(10);
+            System.Runtime.InteropServices.Marshal.WriteInt32(lengthIntPtr, length);
+
+            var sendResult = SajetConnectAdapter.SajetTransData(command, dataIntPtr, lengthIntPtr);
+
+            var resultString1 = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(dataIntPtr);
+
+            System.Runtime.InteropServices.Marshal.Copy(dataIntPtr, dataArray, 0, dataArrayLength);
+            //System.Runtime.InteropServices.Marshal.Release(dataIntPtr);
+            System.Runtime.InteropServices.Marshal.FreeCoTaskMem(dataIntPtr);
+
+            var readLength = System.Runtime.InteropServices.Marshal.ReadInt32(lengthIntPtr);
+            //System.Runtime.InteropServices.Marshal.Release(lengthIntPtr);
+
+            var resultString = Encoding.ASCII.GetString(dataArray);
+
+            data = resultString1.Substring(0, Math.Min(readLength, resultString1.Length));
+            return sendResult;
+        }
+    }
+}

+ 231 - 0
AwInitilizer/DLL/SajetConnectShinewave.cs

@@ -0,0 +1,231 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AwInitilizer.DLL
+{
+    public static class SajetConnectShinewave
+    {
+        public enum CMD
+        {
+            Signin = 1,
+            SnCheck = 15,
+            WoCheck = 14,
+            Report = 16,
+            Log = 4,
+            HeaderRegister = 8,
+            ValueReport = 5,
+            StringValueReport = 6,
+        }
+
+        public static bool SajetTransStart() => SajetConnectAdapter.SajetTransStart();
+        public static bool SajetTransClose() => SajetConnectAdapter.SajetTransClose();
+
+        private static string userId = "";
+        public static bool SajetTransSignIn(ref string data)
+        {
+            var attemptId = data;
+            if (SajetTransData(CMD.Signin, ref data))
+            {
+                if (string.IsNullOrEmpty(data) || data.StartsWith("NG"))
+                {
+                    userId = "";
+                    return false;
+                }
+                else
+                {
+                    userId = attemptId;
+                    return true;
+                }
+            }
+            userId = "";
+            return false;
+        }
+
+        private static string WorkOrder = "";
+        public static bool SajetTransWoCheck(ref string workOrder)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (workOrder == null)
+                workOrder = "";
+            var msg = userId + "," + workOrder + ",";
+
+            if (SajetTransData(CMD.WoCheck, ref msg))
+            {
+                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
+                {
+                    WorkOrder = "";
+                    return false;
+                }
+                else
+                {
+                    WorkOrder = workOrder;
+                    return true;
+                }
+            }
+            WorkOrder = "";
+            return false;
+        }
+
+        private static string SN;
+        public static bool SajetTransSnCheck(ref string serialNumber)
+        {
+            var attemptSN = serialNumber;
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (WorkOrder == null)
+                WorkOrder = "";
+            var msg = userId + "," + WorkOrder + "," + serialNumber + ",";
+
+            if (SajetTransData(CMD.SnCheck, ref msg))
+            {
+                if (string.IsNullOrEmpty(msg) || msg.StartsWith("NG"))
+                {
+                    SN = "";
+                    return false;
+                }
+                else
+                {
+                    SN = attemptSN;
+                    return true;
+                }
+            }
+            SN = "";
+            return false;
+        }
+
+        public static bool SajetTranFinish(bool Result)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(WorkOrder))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + "," + WorkOrder + "," + SN + ",";
+
+            if (string.IsNullOrEmpty(msg))
+                return false;
+#if DEBUG
+            Result = false;
+
+            if (!Result)
+                return true;
+#endif
+
+            if (Result)
+            {
+                msg += "OK,";
+            }
+            else
+            {
+                msg += "NG,";
+            }
+            return SajetTransData(CMD.Report, ref msg);
+        }
+
+        public static string SajetTransRegisterHeader(string model, string header)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return "";
+            var msg = userId + ",";
+            msg += model + "," + header;
+            if (SajetTransData(CMD.HeaderRegister, ref msg))
+            {
+                if (msg.StartsWith("OK"))
+                {
+                    //get codename
+                    msg = msg.Substring(3);
+                    var spaceIndex = msg.IndexOf(",");
+                    if (spaceIndex > 0)
+                    {
+                        msg = msg.Substring(0, spaceIndex);
+                    }
+                    return msg;
+                }
+                return null;
+            }
+            return null;
+        }
+
+        public static bool SajetTransReport(Dictionary<string, int> resultPair, Dictionary<string, string> codePair)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + "," + SN + ",";
+            foreach (var result in resultPair)
+            {
+                if (codePair.Keys.Contains(result.Key))
+                {
+                    msg += string.Format("{0}:{1},", codePair[result.Key], string.Format("{0}.00", result.Value));
+                }
+            }
+            return SajetTransData(CMD.ValueReport, ref msg);
+        }
+
+        public static bool SajetTransReport(Dictionary<string, string> resultPair, Dictionary<string, string> codePair)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string msg = userId + "," + SN + ",";
+            foreach (var result in resultPair)
+            {
+                if (codePair.Keys.Contains(result.Key))
+                {
+                    msg += string.Format("{0}:{1},", codePair[result.Key], string.Format("{0}.00", result.Value));
+                }
+            }
+            return SajetTransData(CMD.StringValueReport, ref msg);
+        }
+
+        public static bool SajetTransLog(string data, bool isError)
+        {
+            if (string.IsNullOrEmpty(userId))
+                return false;
+            if (string.IsNullOrEmpty(SN))
+                return false;
+            string prefix = userId + "," + SN + ",";
+            while (data.Length > 0)
+            {
+                var msg = prefix;
+                int sendLength = Math.Min(250 - msg.Length, data.Length);
+                var sendString = data.Substring(0, sendLength);
+                msg += sendString;
+                if (!SajetTransData(CMD.Log, ref msg))
+                {
+                    break;
+                }
+                data = data.Substring(sendLength);
+            }
+            return data.Length == 0;
+        }
+
+        private static bool SajetTransData(CMD command, ref string data)
+        {
+            return SajetConnectAdapter.SajetTransData((int)command, ref data);
+        }
+
+        private static string GetSendPrefix()
+        {
+            string msg = "";
+            if (string.IsNullOrEmpty(userId))
+            {
+                return null;
+            }
+            msg = userId + ",";
+            if (string.IsNullOrEmpty(WorkOrder))
+            {
+                return null;
+            }
+            msg += WorkOrder + ",";
+            return msg;
+        }
+    }
+}

+ 3 - 0
AwInitilizer/Initilizer.csproj

@@ -70,6 +70,9 @@
     </ApplicationDefinition>
     <Compile Include="Converter\PressStatusConverter.cs" />
     <Compile Include="Cultures\CulturesHelper.cs" />
+    <Compile Include="DLL\SajectConnectSajet.cs" />
+    <Compile Include="DLL\SajetConnectAdapter.cs" />
+    <Compile Include="DLL\SajetConnectShinewave.cs" />
     <Compile Include="Model\ConnectorType.cs" />
     <Compile Include="Procedure\FirmwareBundleUploadProcedure.cs" />
     <Compile Include="Procedure\FirmwareCheckVersionProcedure.cs" />

+ 1 - 1
AwInitilizer/Properties/AssemblyInfo.cs

@@ -53,4 +53,4 @@ using System.Windows;
 // [assembly: AssemblyVersion("1.3.1.0")]
 [assembly: AssemblyVersion("1.3.1.0")]
 [assembly: AssemblyFileVersion("1.3.1.0")]
-[assembly: AssemblyInformationalVersion("d50d9b8")]
+[assembly: AssemblyInformationalVersion("57ada96")]

+ 1 - 1
GitVersion.yml

@@ -1,6 +1,6 @@
 assembly-versioning-scheme: MajorMinorPatch
 assembly-informational-format: '{ShortSha}'
-next-version: 1.3.1
+next-version: 1.0.0
 branches: {}
 ignore:
   sha: []

+ 1 - 1
Initilizer/AssemblyInfo.cs

@@ -11,5 +11,5 @@
 
 [assembly: AssemblyVersion("1.3.1.0")]
 [assembly: AssemblyFileVersion("1.3.1.0")]
-[assembly: AssemblyInformationalVersion("d50d9b8")]
+[assembly: AssemblyInformationalVersion("57ada96")]