Browse Source

add version to header

Robert 1 năm trước cách đây
mục cha
commit
038adc6c71

+ 456 - 455
AwInitilizer/Assist/EvApi.cs

@@ -1,455 +1,456 @@
-using AwInitilizer.Model;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-
-namespace AwInitilizer.Assist
-{
-    public class EvApiResult<T>
-    {
-        public T Result { get; set; }
-        public string Response { get; set; }
-    }
-
-    public class EvApiWifiResult
-    {
-        public int Rssi { get; set; }
-        public int ErrorCode { get; set; }
-    }
-
-    public static class EvApi
-    {
-        internal static async Task<EvApiResult<bool>> ChekCsuBootCompelete()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt2String();
-            if (!getResult.IsSuccess ||
-                string.IsNullOrEmpty(getResult.Msg))
-            {
-                return new EvApiResult<bool>() { Response = getResult.Msg, Result = false };
-            }
-
-            Regex rx = new Regex("(SystemStatus)\\\": ([0-9]*)");
-            var matches = rx.Matches(getResult.Msg);
-            if (matches.Count == 0)
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = false,
-                    Response = getResult.Msg
-                };
-            }
-            bool isAllPassed = true;
-            for (int matchIndex = 0; matchIndex < matches.Count; matchIndex++)
-            {
-                var match = matches[matchIndex];
-                if (match.Groups.Count != 3)
-                {
-                    isAllPassed = false;
-                    break;
-                }
-                else
-                {
-                    if (match.Groups[2].Value != "1")
-                    {
-                        isAllPassed = false;
-                        break;
-                    }
-                }
-            }
-
-            return new EvApiResult<bool>()
-            {
-                Result = isAllPassed,
-                Response = getResult.Msg,
-            };
-        }
-
-        internal static async Task<EvApiResult<bool>> CheckGetQueryAction()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt2String();
-            if (!getResult.IsSuccess ||
-                string.IsNullOrEmpty(getResult.Msg))
-            {
-                return new EvApiResult<bool>() { Response = getResult.Msg, Result = false };
-            }
-
-            return new EvApiResult<bool>()
-            {
-                Result = !string.IsNullOrEmpty(getResult.Msg),
-                Response = getResult.Msg
-            };
-        }
-
-        internal static async Task<EvApiResult<ButtonStatus>> GetButtonStatus()
-        {
-            var getResult = await EvHttpClient.GetButtonStatusString();
-            var result = getResult.Msg;
-
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<ButtonStatus>()
-                {
-                    Result = null,
-                    Response = getResult.Msg
-                };
-            }
-
-            if (!result.Contains("Button1") ||
-                !result.Contains("Button2") )
-            {
-                return new EvApiResult<ButtonStatus>()
-                {
-                    Result = null,
-                    Response = result
-                };
-            }
-            var values = JsonConvert.DeserializeObject<ButtonStatus>(result);
-            return new EvApiResult<ButtonStatus>()
-            {
-                Result = values,
-                Response = result,
-            };
-        }
-
-        internal static async Task<EvApiResult<Dictionary<string, string>>> GetVersion()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt1String();
-            var toReturn = new Dictionary<string, string>();
-
-            string result = getResult.Msg;
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<Dictionary<string, string>>()
-                {
-                    Result = null,
-                    Response = getResult.Msg,
-                };
-            }
-
-            var values = JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
-
-            foreach (var pair in values)
-            {
-                if (pair.Value is string v)
-                {
-                    toReturn.Add(pair.Key, v);
-                }
-                else if (pair.Value is Newtonsoft.Json.Linq.JArray a)
-                {
-                    try
-                    {
-                        var versionList = JsonConvert.DeserializeObject<List<string>>(a.ToString());
-                        for (int index = 0; index < versionList.Count; index++)
-                        {
-                            toReturn.Add(string.Format("{0}{1}", pair.Key, index), versionList[index]);
-                        }
-                    }
-                    catch
-                    {
-
-                    }
-                }
-            }
-
-            return new EvApiResult<Dictionary<string, string>>()
-            {
-                Result = toReturn,
-                Response = result
-            };
-        }
-
-        internal static async Task<EvApiResult<string>> GetTelcomModemImei()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt3String();
-            string result = getResult.Msg;
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<string>()
-                {
-                    Result = null,
-                    Response = getResult.Msg,
-                };
-            }
-
-            Regex rx = new Regex("(TelcomModemImei)\\\": \"([0-9]*)\"");
-            var matches = rx.Matches(result);
-            string imeiString = string.Empty;
-
-            if (matches.Count != 0)
-            {
-                var match = matches[0];
-                if (match.Groups.Count != 3)
-                {
-                    imeiString = string.Empty;
-                }
-                else
-                {
-                    if (match.Groups[2].Value is string imei)
-                    {
-                        imeiString = imei;
-                    }
-                    else
-                    {
-                        imeiString = "";
-                    }
-                }
-            }
-            else
-            {
-                imeiString = "";
-            }
-
-            return new EvApiResult<string>()
-            {
-                Result = imeiString,
-                Response = result
-            };
-        }
-
-        internal static async Task<EvApiResult<EvApiWifiResult>> GetWifiRssi()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt3String();
-            string result = getResult.Msg;
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<EvApiWifiResult>()
-                {
-                    Result = new EvApiWifiResult()
-                    {
-                        Rssi = 0,
-                        ErrorCode = 0
-                    },
-                    Response = getResult.Msg,
-                };
-            }
-
-            Regex rx_mode = new Regex("(WifiMode)\\\": ([0-9]*)");
-            var matches_mode = rx_mode.Matches(result);
-            int rssi = 0;
-            int errorCode = -1;
-
-            if (matches_mode.Count != 0)
-            {
-                var match = matches_mode[0];
-                if (match.Groups.Count != 3)
-                {
-                    errorCode = 0;
-                }
-                else
-                {
-                    if (int.TryParse(match.Groups[2].Value, out var wifiMode))
-                    {
-                        if (wifiMode != 1)
-                        {
-                            errorCode = 1;
-                        }
-                    }
-                }
-            }
-            else
-            {
-                errorCode = 2;
-            }
-
-            if (errorCode != -1)
-            {
-                return new EvApiResult<EvApiWifiResult>()
-                {
-                    Result = new EvApiWifiResult()
-                    {
-                        Rssi = rssi,
-                        ErrorCode = errorCode
-                    },
-                    Response = result
-                };
-            }
-
-            Regex rx = new Regex("(WifiRssi)\\\": (-?[0-9]*)");
-            var matches = rx.Matches(result);
-
-            if (matches.Count != 0)
-            {
-                var match = matches[0];
-                if (match.Groups.Count != 3)
-                {
-                    errorCode = 3;
-                }
-                else
-                {
-                    if (int.TryParse(match.Groups[2].Value, out var rssiSignal))
-                    {
-                        rssi = rssiSignal;
-                    }
-                    else
-                    {
-                        errorCode = 4;
-                    }
-                }
-            }
-            else
-            {
-                errorCode = 5;
-            }
-
-            return new EvApiResult<EvApiWifiResult>()
-            {
-                Result = new EvApiWifiResult()
-                {
-                    Rssi = rssi,
-                    ErrorCode = errorCode
-                },
-                Response = result
-            };
-        }
-
-        internal static async Task<EvApiResult<Dictionary<int, string>>> GetConnectorStatus()
-        {
-            var getResult = await EvHttpClient.GetQueryActionOpt2String();
-            Dictionary<int, string> connectorStatusPair = new Dictionary<int, string>();
-
-            string result = getResult.Msg;
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<Dictionary<int, string>>()
-                {
-                    Result = null,
-                    Response = getResult.Msg
-                };
-            }
-
-            Regex rx = new Regex("(SystemStatus)\\\": (\\d)");
-            var matches = rx.Matches(result);
-            for (int matchIndex = 0; matchIndex < matches.Count; matchIndex++)
-            {
-                var match = matches[matchIndex];
-                if (match.Groups.Count != 3)
-                {
-                    //LogWriter.Log($"Connector {matchIndex} status string mismatched");
-                    return new EvApiResult<Dictionary<int, string>>()
-                    {
-                        Result = null,
-                        Response = result
-                    };
-                    //InfoLog += $"Connector {matchIndex} status string mismatched\n";
-                    //Logger.Print($"Connector {matchIndex} status string mismatched", isError:true);
-                }
-                else
-                {
-                    connectorStatusPair.Add(matchIndex, match.Groups[2].Value);
-                }
-            }
-
-            return new EvApiResult<Dictionary<int, string>>()
-            {
-                Result = connectorStatusPair,
-                Response = result,
-            };
-        }
-
-        internal static async Task<EvApiResult<bool>> FactorySet()
-        {
-            var getResult = await EvHttpClient.GetFactorySetResultString();
-            var result = getResult.Msg;
-            if (!getResult.IsSuccess)
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = false,
-                    Response = getResult.Msg
-                };
-            }
-
-            Regex rx = new Regex("(result)\":\"([a-zA-Z]*)\"");
-            var matches = rx.Matches(result);
-            if (matches.Count > 0 &&
-                matches[0].Success &&
-                matches[0].Groups.Count == 3 &&
-                matches[0].Groups[2].Value.ToLower() == "success")
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = true,
-                    Response = result
-                };
-            }
-            return new EvApiResult<bool>()
-            {
-                Result = false,
-                Response = result
-            };
-        }
-
-        internal static async Task<EvApiResult<bool>> SignalUpdateFirmware()
-        {
-            var result = await EvHttpClient.GetSignalUpdateFirmwareResultString();
-            if (!result.IsSuccess)
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = false,
-                    Response = result.Msg
-                };
-            }
-
-            return new EvApiResult<bool>()
-            {
-                Result = !string.IsNullOrEmpty(result.Msg),
-                Response = result.Msg,
-            };
-        }
-
-        /// <summary>
-        /// Not Tested
-        /// </summary>
-        /// <param name="fileName"></param>
-        /// <returns></returns>
-        [Obsolete]
-        internal static async Task<EvApiResult<bool>> Uploadfirmware(string fileName)
-        {
-            var result = await EvHttpClient.GetUploadfirmwareResultString(new List<string> { fileName });
-            if (!result.IsSuccess)
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = false,
-                    Response = result.Msg
-                };
-            }
-
-            return new EvApiResult<bool>()
-            {
-                Result = !string.IsNullOrEmpty(result.Msg),
-                Response = result.Msg,
-            };
-        }
-
-        /// <summary>
-        /// Not tested
-        /// </summary>
-        /// <param name="fileNames"></param>
-        /// <returns></returns>
-        [Obsolete]
-        internal static async Task<EvApiResult<bool>> Uploadfirmware(List<string> fileNames)
-        {
-            var result = await EvHttpClient.GetUploadfirmwareResultString(fileNames);
-            if (!result.IsSuccess)
-            {
-                return new EvApiResult<bool>()
-                {
-                    Result = false,
-                    Response = result.Msg
-                };
-            }
-
-            return new EvApiResult<bool>()
-            {
-                Result = !string.IsNullOrEmpty(result.Msg),
-                Response = result.Msg,
-            };
-        }
-    }
-}
+using AwInitilizer.Model;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace AwInitilizer.Assist
+{
+    public class EvApiResult<T>
+    {
+        public T Result { get; set; }
+        public string Response { get; set; }
+    }
+
+    public class EvApiWifiResult
+    {
+        public int Rssi { get; set; }
+        public int ErrorCode { get; set; }
+    }
+
+    public static class EvApi
+    {
+        internal static async Task<EvApiResult<bool>> ChekCsuBootCompelete()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt2String();
+            if (!getResult.IsSuccess ||
+                string.IsNullOrEmpty(getResult.Msg))
+            {
+                return new EvApiResult<bool>() { Response = getResult.Msg, Result = false };
+            }
+
+            Regex rx = new Regex("(SystemStatus)\\\": ([0-9]*)");
+            var matches = rx.Matches(getResult.Msg);
+            if (matches.Count == 0)
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = false,
+                    Response = getResult.Msg
+                };
+            }
+            bool isAllPassed = true;
+            for (int matchIndex = 0; matchIndex < matches.Count; matchIndex++)
+            {
+                var match = matches[matchIndex];
+                if (match.Groups.Count != 3)
+                {
+                    isAllPassed = false;
+                    break;
+                }
+                else
+                {
+                    if (match.Groups[2].Value != "1")
+                    {
+                        isAllPassed = false;
+                        break;
+                    }
+                }
+            }
+
+            return new EvApiResult<bool>()
+            {
+                Result = isAllPassed,
+                Response = getResult.Msg,
+            };
+        }
+
+        internal static async Task<EvApiResult<bool>> CheckGetQueryAction()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt2String();
+            if (!getResult.IsSuccess ||
+                string.IsNullOrEmpty(getResult.Msg))
+            {
+                return new EvApiResult<bool>() { Response = getResult.Msg, Result = false };
+            }
+
+            return new EvApiResult<bool>()
+            {
+                Result = !string.IsNullOrEmpty(getResult.Msg),
+                Response = getResult.Msg
+            };
+        }
+
+        internal static async Task<EvApiResult<ButtonStatus>> GetButtonStatus()
+        {
+            var getResult = await EvHttpClient.GetButtonStatusString();
+            var result = getResult.Msg;
+
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<ButtonStatus>()
+                {
+                    Result = null,
+                    Response = getResult.Msg
+                };
+            }
+
+            if (!result.Contains("Button1") ||
+                !result.Contains("Button2") )
+            {
+                return new EvApiResult<ButtonStatus>()
+                {
+                    Result = null,
+                    Response = result
+                };
+            }
+            var values = JsonConvert.DeserializeObject<ButtonStatus>(result);
+            return new EvApiResult<ButtonStatus>()
+            {
+                Result = values,
+                Response = result,
+            };
+        }
+
+        internal static async Task<EvApiResult<Dictionary<string, string>>> GetVersion()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt1String();
+            var toReturn = new Dictionary<string, string>();
+
+            string result = getResult.Msg;
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<Dictionary<string, string>>()
+                {
+                    Result = null,
+                    Response = getResult.Msg,
+                };
+            }
+
+            var values = JsonConvert.DeserializeObject<Dictionary<string, object>>(result);
+
+            foreach (var pair in values)
+            {
+                if (pair.Value is string v)
+                {
+                    toReturn.Add(pair.Key, v);
+                }
+                else if (pair.Value is Newtonsoft.Json.Linq.JArray a)
+                {
+                    try
+                    {
+                        var versionList = JsonConvert.DeserializeObject<List<string>>(a.ToString());
+                        for (int index = 0; index < versionList.Count; index++)
+                        {
+                            toReturn.Add(string.Format("{0}{1}", pair.Key, index), versionList[index]);
+                        }
+                    }
+                    catch
+                    {
+
+                    }
+                }
+            }
+
+            return new EvApiResult<Dictionary<string, string>>()
+            {
+                Result = toReturn,
+                Response = result
+            };
+        }
+
+        internal static async Task<EvApiResult<string>> GetTelcomModemImei()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt3String();
+            string result = getResult.Msg;
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<string>()
+                {
+                    Result = null,
+                    Response = getResult.Msg,
+                };
+            }
+
+            Regex rx = new Regex("(TelcomModemImei)\\\": \"([0-9]*)\"");
+            var matches = rx.Matches(result);
+            string imeiString = string.Empty;
+
+            if (matches.Count != 0)
+            {
+                var match = matches[0];
+                if (match.Groups.Count != 3)
+                {
+                    imeiString = string.Empty;
+                }
+                else
+                {
+                    if (match.Groups[2].Value is string imei)
+                    {
+                        imeiString = imei;
+                    }
+                    else
+                    {
+                        imeiString = "";
+                    }
+                }
+            }
+            else
+            {
+                imeiString = "";
+            }
+
+            return new EvApiResult<string>()
+            {
+                Result = imeiString,
+                Response = result
+            };
+        }
+
+        internal static async Task<EvApiResult<EvApiWifiResult>> GetWifiRssi()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt3String();
+            string result = getResult.Msg;
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<EvApiWifiResult>()
+                {
+                    Result = new EvApiWifiResult()
+                    {
+                        Rssi = 0,
+                        ErrorCode = 0
+                    },
+                    Response = getResult.Msg,
+                };
+            }
+
+            Regex rx_mode = new Regex("(WifiMode)\\\": ([0-9]*)");
+            var matches_mode = rx_mode.Matches(result);
+            int rssi = 0;
+            int errorCode = -1;
+
+            if (matches_mode.Count != 0)
+            {
+                var match = matches_mode[0];
+                if (match.Groups.Count != 3)
+                {
+                    errorCode = 0;
+                }
+                else
+                {
+                    if (int.TryParse(match.Groups[2].Value, out var wifiMode))
+                    {
+                        if (wifiMode != 1)
+                        {
+                            errorCode = 1;
+                        }
+                    }
+                }
+            }
+            else
+            {
+                errorCode = 2;
+            }
+
+            if (errorCode != -1)
+            {
+                return new EvApiResult<EvApiWifiResult>()
+                {
+                    Result = new EvApiWifiResult()
+                    {
+                        Rssi = rssi,
+                        ErrorCode = errorCode
+                    },
+                    Response = result
+                };
+            }
+
+            Regex rx = new Regex("(WifiRssi)\\\": (-?[0-9]*)");
+            var matches = rx.Matches(result);
+
+            if (matches.Count != 0)
+            {
+                var match = matches[0];
+                if (match.Groups.Count != 3)
+                {
+                    errorCode = 3;
+                }
+                else
+                {
+                    if (int.TryParse(match.Groups[2].Value, out var rssiSignal))
+                    {
+                        rssi = rssiSignal;
+                    }
+                    else
+                    {
+                        errorCode = 4;
+                    }
+                }
+            }
+            else
+            {
+                errorCode = 5;
+            }
+
+            return new EvApiResult<EvApiWifiResult>()
+            {
+                Result = new EvApiWifiResult()
+                {
+                    Rssi = rssi,
+                    ErrorCode = errorCode
+                },
+                Response = result
+            };
+        }
+
+        internal static async Task<EvApiResult<Dictionary<int, string>>> GetConnectorStatus()
+        {
+            var getResult = await EvHttpClient.GetQueryActionOpt2String();
+            Dictionary<int, string> connectorStatusPair = new Dictionary<int, string>();
+
+            string result = getResult.Msg;
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<Dictionary<int, string>>()
+                {
+                    Result = null,
+                    Response = getResult.Msg
+                };
+            }
+
+            Regex rx = new Regex("(SystemStatus)\\\": (\\d)");
+            var matches = rx.Matches(result);
+            for (int matchIndex = 0; matchIndex < matches.Count; matchIndex++)
+            {
+                var match = matches[matchIndex];
+                if (match.Groups.Count != 3)
+                {
+                    //LogWriter.Log($"Connector {matchIndex} status string mismatched");
+                    return new EvApiResult<Dictionary<int, string>>()
+                    {
+                        Result = null,
+                        Response = result
+                    };
+                    //InfoLog += $"Connector {matchIndex} status string mismatched\n";
+                    //Logger.Print($"Connector {matchIndex} status string mismatched", isError:true);
+                }
+                else
+                {
+                    connectorStatusPair.Add(matchIndex, match.Groups[2].Value);
+                }
+            }
+
+            return new EvApiResult<Dictionary<int, string>>()
+            {
+                Result = connectorStatusPair,
+                Response = result,
+            };
+        }
+
+        internal static async Task<EvApiResult<bool>> FactorySet()
+        {
+            var getResult = await EvHttpClient.GetFactorySetResultString();
+            var result = getResult.Msg;
+            if (!getResult.IsSuccess)
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = false,
+                    Response = getResult.Msg
+                };
+            }
+
+            Regex rx = new Regex("(result)\":\"([a-zA-Z]*)\"");
+            var matches = rx.Matches(result);
+            if (matches.Count > 0 &&
+                matches[0].Success &&
+                matches[0].Groups.Count == 3 &&
+                matches[0].Groups[2].Value.ToLower() == "success")
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = true,
+                    Response = result
+                };
+            }
+            return new EvApiResult<bool>()
+            {
+                Result = false,
+                Response = result
+            };
+        }
+
+        internal static async Task<EvApiResult<bool>> SignalUpdateFirmware()
+        {
+            var result = await EvHttpClient.GetSignalUpdateFirmwareResultString();
+            if (!result.IsSuccess)
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = false,
+                    Response = result.Msg
+                };
+            }
+
+            return new EvApiResult<bool>()
+            {
+                Result = !string.IsNullOrEmpty(result.Msg),
+                Response = result.Msg,
+            };
+        }
+
+        /// <summary>
+        /// Not Tested
+        /// </summary>
+        /// <param name="fileName"></param>
+        /// <returns></returns>
+        [Obsolete]
+        internal static async Task<EvApiResult<bool>> Uploadfirmware(string fileName)
+        {
+            var result = await EvHttpClient.GetUploadfirmwareResultString(new List<string> { fileName });
+            if (!result.IsSuccess)
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = false,
+                    Response = result.Msg
+                };
+            }
+
+            return new EvApiResult<bool>()
+            {
+                Result = !string.IsNullOrEmpty(result.Msg),
+                Response = result.Msg,
+            };
+        }
+
+        /// <summary>
+        /// Not tested
+        /// </summary>
+        /// <param name="fileNames"></param>
+        /// <returns></returns>
+        [Obsolete]
+        internal static async Task<EvApiResult<bool>> Uploadfirmware(List<string> fileNames)
+        {
+            var result = await EvHttpClient.GetUploadfirmwareResultString(fileNames);
+            if (!result.IsSuccess)
+            {
+                return new EvApiResult<bool>()
+                {
+                    Result = false,
+                    Response = result.Msg
+                };
+            }
+
+            return new EvApiResult<bool>()
+            {
+                Result = !string.IsNullOrEmpty(result.Msg),
+                Response = result.Msg,
+            };
+        }
+    }
+}

+ 277 - 273
AwInitilizer/Assist/EvHttpClient.cs

@@ -1,273 +1,277 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.IO;
-using System.Linq;
-using System.Net;
-using System.Net.Http;
-using System.Net.Http.Headers;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Threading.Tasks;
-
-namespace AwInitilizer.Assist
-{
-    public class EvHttpClientResult
-    {
-        public bool IsSuccess { get; set; }
-        public string Msg { get; set; }
-    }
-
-    public class EvAuthMsg
-    {
-        public string result { get; set; }
-        public string message { get; set; }
-    }
-
-    public static class EvHttpClient
-    {
-        private static string account = "admin";
-        private static string pass = "1231231238";
-        internal static string ServerIpAddress = "192.168.1.10";
-        internal static string ServerUrl = "https://192.168.1.10";
-        //updated EV
-        //internal static string ServerIpAddress = "192.168.80.197";
-        //internal static string ServerUrl = "https://192.168.80.197";
-        //original EV
-        //internal static string ServerIpAddress = "192.168.80.199";
-        //internal static string ServerUrl = "https://192.168.80.199";
-
-        internal static Task<EvHttpClientResult> GetQueryActionOpt1String()
-        {
-            string api = "get_query_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>() {
-                {"opt","1"}
-            };
-            return CallBase(api, param);
-        }
-
-        internal static Task<EvHttpClientResult> GetQueryActionOpt2String()
-        {
-            string api = "get_query_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>() {
-                {"opt","2"}
-            };
-            return CallBase(api, param);
-        }
-
-        internal static Task<EvHttpClientResult> GetQueryActionOpt3String()
-        {
-            string api = "get_query_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>() {
-                {"opt","3"}
-            };
-            return CallBase(api, param);
-        }
-
-        internal static Task<EvHttpClientResult> GetButtonStatusString()
-        {
-            string api = "get_button_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>()
-            {
-            };
-            return CallBase(api, param);
-        }
-
-        internal static Task<EvHttpClientResult> GetFactorySetResultString()
-        {
-            string api = "set_system_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>();
-            param.Add("SystemId", "");
-            param.Add("SystemDateTime", "");
-            param.Add("PhaseLossPolicy", "");
-            param.Add("FactoryConfiguration", "1");
-            param.Add("AuthorisationMode", "");
-            param.Add("isAPP", "");
-            param.Add("isQRCode", "");
-            param.Add("isRFID", "");
-            param.Add("QRCodeMadeMode", "");
-            param.Add("QRCodeContent", "");
-            param.Add("Intensity", "");
-            param.Add("RfidCardNumEndian", "");
-            param.Add("PsuAcInputType", "");
-            return CallBase(api, param);
-        }
-
-        internal static Task<EvHttpClientResult> GetUploadfirmwareResultString(List<string> fileNames)
-        {
-            string api = "upgrade_iso_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>(){
-                {"fw_tag","iso"}
-            };
-            return CallBase(api, param, firmwareNames: fileNames);
-        }
-
-        internal static Task<EvHttpClientResult> GetSignalUpdateFirmwareResultString()
-        {
-            string api = "upgrade_iso_action.php";
-            Dictionary<string, string> param = new Dictionary<string, string>(){
-                {"fw_tag","iso"},
-            };
-            var dummyFileCotent = new ByteArrayContent(new byte[0]);
-            dummyFileCotent.Headers.ContentDisposition
-              = new ContentDispositionHeaderValue("attachment")
-              {
-                  FileName = "temp.txt",
-                  Size = 0,
-                  CreationDate = DateTime.Now,
-                  ModificationDate = DateTime.Now,
-                  ReadDate = DateTime.Now,
-                  Name = "files[]"
-              };
-
-            return CallBase(api, param, customContents: new List<HttpContent>() { dummyFileCotent });
-        }
-
-        private static async Task<EvHttpClientResult> CallBase(
-            string api,
-            Dictionary<string, string> param,
-            List<string> firmwareNames = null,
-            List<HttpContent> customContents = null)
-        {
-            try
-            {
-                var url = string.Format("{0}/{1}", ServerUrl, api);
-                Dictionary<string, string> pams = new Dictionary<string, string>
-                {
-                    { "account", account },
-                    { "password", pass }
-                };
-                foreach (var pam in param)
-                {
-                    pams.Add(pam.Key, pam.Value);
-                }
-
-
-                var formContent = new MultipartFormDataContent();
-                foreach (var pam in pams)
-                {
-                    formContent.Add(new StringContent(pam.Value), pam.Key);
-                }
-
-                if (firmwareNames != null)
-                {
-                    if (firmwareNames.Count == 1)
-                    {
-                        var fileName = firmwareNames[0];
-                        formContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(fileName)), "file");
-                    }
-                    else
-                    {
-                        foreach (var fileName in firmwareNames)
-                        {
-                            formContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(fileName)), "file[]");
-                        }
-                    }
-                }
-
-                if (customContents != null)
-                {
-                    foreach (var content in customContents)
-                    {
-                        formContent.Add(content);
-                    }
-                }
-
-                HttpResponseMessage postResult;
-                string result = null;
-
-
-                var handler = new HttpClientHandler();
-                handler.ClientCertificateOptions = ClientCertificateOption.Manual;
-                handler.ServerCertificateCustomValidationCallback =
-                    (httpRequestMessage, cert, cetChain, policyErrors) =>
-                    {
-                        return true;
-                    };
-
-                using (HttpClient evClient = new HttpClient(handler))
-                {
-                    evClient.Timeout = TimeSpan.FromSeconds(5);
-
-                    try
-                    {
-                        postResult = await evClient.PostAsync(url, formContent);
-                        if (postResult == null || !postResult.IsSuccessStatusCode)
-                        {
-                            throw new Exception("Post fail");
-                        }
-                        result = await postResult.Content.ReadAsStringAsync();
-
-                        if (result.Contains("File is uploaded, please wait a moment to upgrade"))
-                        {
-                            return new EvHttpClientResult()
-                            {
-                                IsSuccess = true,
-                                Msg = result,
-                            };
-                        }
-
-                        var check = JsonConvert.DeserializeObject<EvAuthMsg>(result);
-                        if (check != null &&
-                            check.result != null &&
-                            check.result.ToLower() == "fail")
-                        {
-                            return new EvHttpClientResult()
-                            {
-                                IsSuccess = false,
-                                Msg = result,
-                            };
-                        }
-
-                        return new EvHttpClientResult()
-                        {
-                            IsSuccess = true,
-                            Msg = result,
-                        };
-                    }
-                    catch
-                    {
-                        //post fail
-                    }
-                }
-
-                using (WebClientTimeout webClient = new WebClientTimeout())
-                {
-                    NameValueCollection parameters = new NameValueCollection();
-                    foreach (var inpam in param)
-                    {
-                        parameters.Add(inpam.Key, inpam.Value);
-                    }
-                    webClient.QueryString = parameters;
-
-                    using (Stream stream = webClient.OpenRead(url))
-                    // 使用 StreamReader 讀取 stream 內的字元
-                    using (StreamReader reader = new StreamReader(stream))
-                    {
-                        // 將 StreamReader 所讀到的字元轉為 string
-                        result = await reader.ReadToEndAsync();
-                    }
-
-                    var check = JsonConvert.DeserializeObject<EvAuthMsg>(result);
-                    if (check != null &&
-                        check.result != null &&
-                        check.result.ToLower() == "fail")
-                    {
-                        return new EvHttpClientResult()
-                        {
-                            IsSuccess = false,
-                            Msg = result,
-                        };
-                    }
-                }
-                return new EvHttpClientResult() { IsSuccess = true, Msg = result };
-
-            }
-            catch (Exception e)
-            {
-                return new EvHttpClientResult() { IsSuccess = false, Msg = e.Message }; ;
-            }
-        }
-    }
-}
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.IO;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Net.Http.Headers;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace AwInitilizer.Assist
+{
+    public class EvHttpClientResult
+    {
+        public bool IsSuccess { get; set; }
+        public string Msg { get; set; }
+    }
+
+    public class EvAuthMsg
+    {
+        public string result { get; set; }
+        public string message { get; set; }
+    }
+
+    public static class EvHttpClient
+    {
+        private static string account = "admin";
+        private static string pass = "1231231238";
+        internal static string ServerIpAddress = "192.168.1.10";
+        internal static string ServerUrl = "https://192.168.1.10";
+        //updated EV
+        //internal static string ServerIpAddress = "192.168.80.197";
+        //internal static string ServerUrl = "https://192.168.80.197";
+        //original EV
+        //internal static string ServerIpAddress = "192.168.80.199";
+        //internal static string ServerUrl = "https://192.168.80.199";
+
+        internal static Task<EvHttpClientResult> GetQueryActionOpt1String()
+        {
+            string api = "get_query_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>() {
+                {"opt","1"}
+            };
+            return CallBase(api, param);
+        }
+
+        internal static Task<EvHttpClientResult> GetQueryActionOpt2String()
+        {
+            string api = "get_query_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>() {
+                {"opt","2"}
+            };
+            return CallBase(api, param);
+        }
+
+        internal static Task<EvHttpClientResult> GetQueryActionOpt3String()
+        {
+            string api = "get_query_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>() {
+                {"opt","3"}
+            };
+            return CallBase(api, param);
+        }
+
+        internal static Task<EvHttpClientResult> GetButtonStatusString()
+        {
+            string api = "get_button_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>()
+            {
+            };
+            return CallBase(api, param);
+        }
+
+        internal static Task<EvHttpClientResult> GetFactorySetResultString()
+        {
+            string api = "set_system_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>();
+            param.Add("SystemId", "");
+            param.Add("SystemDateTime", "");
+            param.Add("PhaseLossPolicy", "");
+            param.Add("FactoryConfiguration", "1");
+            param.Add("AuthorisationMode", "");
+            param.Add("isAPP", "");
+            param.Add("isQRCode", "");
+            param.Add("isRFID", "");
+            param.Add("QRCodeMadeMode", "");
+            param.Add("QRCodeContent", "");
+            param.Add("Intensity", "");
+            param.Add("RfidCardNumEndian", "");
+            param.Add("PsuAcInputType", "");
+            return CallBase(api, param);
+        }
+
+        internal static Task<EvHttpClientResult> GetUploadfirmwareResultString(List<string> fileNames)
+        {
+            string api = "upgrade_iso_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>(){
+                {"fw_tag","iso"}
+            };
+            return CallBase(api, param, firmwareNames: fileNames);
+        }
+
+        internal static Task<EvHttpClientResult> GetSignalUpdateFirmwareResultString()
+        {
+            string api = "upgrade_iso_action.php";
+            Dictionary<string, string> param = new Dictionary<string, string>(){
+                {"fw_tag","iso"},
+            };
+            var dummyFileCotent = new ByteArrayContent(new byte[0]);
+            dummyFileCotent.Headers.ContentDisposition
+              = new ContentDispositionHeaderValue("attachment")
+              {
+                  FileName = "temp.txt",
+                  Size = 0,
+                  CreationDate = DateTime.Now,
+                  ModificationDate = DateTime.Now,
+                  ReadDate = DateTime.Now,
+                  Name = "files[]"
+              };
+
+            return CallBase(api, param, customContents: new List<HttpContent>() { dummyFileCotent });
+        }
+
+        private static async Task<EvHttpClientResult> CallBase(
+            string api,
+            Dictionary<string, string> param,
+            List<string> firmwareNames = null,
+            List<HttpContent> customContents = null)
+        {
+            try
+            {
+                var url = string.Format("{0}/{1}", ServerUrl, api);
+                Dictionary<string, string> pams = new Dictionary<string, string>
+                {
+                    { "account", account },
+                    { "password", pass }
+                };
+                foreach (var pam in param)
+                {
+                    pams.Add(pam.Key, pam.Value);
+                }
+
+
+                var formContent = new MultipartFormDataContent();
+                foreach (var pam in pams)
+                {
+                    formContent.Add(new StringContent(pam.Value), pam.Key);
+                }
+
+                if (firmwareNames != null)
+                {
+                    if (firmwareNames.Count == 1)
+                    {
+                        var fileName = firmwareNames[0];
+                        formContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(fileName)), "file");
+                    }
+                    else
+                    {
+                        foreach (var fileName in firmwareNames)
+                        {
+                            formContent.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(fileName)), "file[]");
+                        }
+                    }
+                }
+
+                if (customContents != null)
+                {
+                    foreach (var content in customContents)
+                    {
+                        formContent.Add(content);
+                    }
+                }
+
+                HttpResponseMessage postResult;
+                string result = null;
+
+
+                var handler = new HttpClientHandler();
+                handler.ClientCertificateOptions = ClientCertificateOption.Manual;
+                handler.ServerCertificateCustomValidationCallback =
+                    (httpRequestMessage, cert, cetChain, policyErrors) =>
+                    {
+                        return true;
+                    };
+
+                using (HttpClient evClient = new HttpClient(handler))
+                {
+                    evClient.Timeout = TimeSpan.FromSeconds(5);
+
+                    try
+                    {
+                        postResult = await evClient.PostAsync(url, formContent);
+                        //MessageBox.Show("Rest Result:" + postResult.StatusCode);
+                        if (postResult == null || !postResult.IsSuccessStatusCode)
+                        {
+                            throw new Exception("Post fail");
+                        }
+                        result = await postResult.Content.ReadAsStringAsync();
+
+                        //MessageBox.Show("Rest Result:" + result);
+
+                        if (result.Contains("File is uploaded, please wait a moment to upgrade"))
+                        {
+                            return new EvHttpClientResult()
+                            {
+                                IsSuccess = true,
+                                Msg = result,
+                            };
+                        }
+
+                        var check = JsonConvert.DeserializeObject<EvAuthMsg>(result);
+                        if (check != null &&
+                            check.result != null &&
+                            check.result.ToLower() == "fail")
+                        {
+                            return new EvHttpClientResult()
+                            {
+                                IsSuccess = false,
+                                Msg = result,
+                            };
+                        }
+
+                        return new EvHttpClientResult()
+                        {
+                            IsSuccess = true,
+                            Msg = result,
+                        };
+                    }
+                    catch
+                    {
+                        //post fail
+                    }
+                }
+
+                using (WebClientTimeout webClient = new WebClientTimeout())
+                {
+                    NameValueCollection parameters = new NameValueCollection();
+                    foreach (var inpam in param)
+                    {
+                        parameters.Add(inpam.Key, inpam.Value);
+                    }
+                    webClient.QueryString = parameters;
+
+                    using (Stream stream = webClient.OpenRead(url))
+                    // 使用 StreamReader 讀取 stream 內的字元
+                    using (StreamReader reader = new StreamReader(stream))
+                    {
+                        // 將 StreamReader 所讀到的字元轉為 string
+                        result = await reader.ReadToEndAsync();
+                    }
+
+                    var check = JsonConvert.DeserializeObject<EvAuthMsg>(result);
+                    if (check != null &&
+                        check.result != null &&
+                        check.result.ToLower() == "fail")
+                    {
+                        return new EvHttpClientResult()
+                        {
+                            IsSuccess = false,
+                            Msg = result,
+                        };
+                    }
+                }
+                return new EvHttpClientResult() { IsSuccess = true, Msg = result };
+
+            }
+            catch (Exception e)
+            {
+                return new EvHttpClientResult() { IsSuccess = false, Msg = e.Message }; ;
+            }
+        }
+    }
+}

+ 13 - 10
AwInitilizer/MainWindow.xaml.cs

@@ -10,6 +10,7 @@ using System.ComponentModel;
 using System.IO;
 using System.Linq;
 using System.Net;
+using System.Reflection;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
@@ -61,6 +62,8 @@ namespace AwInitilizer
         {
             InitializeComponent();
 
+            Title += "_V" + Assembly.GetExecutingAssembly().GetName().Version;
+
             ServicePointManager.ServerCertificateValidationCallback +=
                 (sender, cert, chain, sslPolicyErrors) => true;
             System.Net.ServicePointManager.Expect100Continue = false;
@@ -651,19 +654,19 @@ namespace AwInitilizer
 
         private void UpdateProcedure()
         {
-            List<ProcedureBase> procedures = new List<ProcedureBase>();
-
+            List<ProcedureBase> procedures = new List<ProcedureBase>();
+
             //init intilize procedure list
 
-            //procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
-            //procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());
-            //procedures.Add(new Procedure.WifRssiCheck.WifRssiCheckProcedure());
-            //procedures.Add(new Procedure.TelcomModemImeiRecord.TelcomModemImeiRecordProcedure());
-            //procedures.Add(new Procedure.FirmwareBundleUpload.FirmwareFtpUploadProcedure());
-            //procedures.Add(new Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure());
+            procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
+            procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());
+            procedures.Add(new Procedure.WifRssiCheck.WifRssiCheckProcedure());
+            procedures.Add(new Procedure.TelcomModemImeiRecord.TelcomModemImeiRecordProcedure());
+            procedures.Add(new Procedure.FirmwareBundleUpload.FirmwareFtpUploadProcedure());
+            procedures.Add(new Procedure.FirmwareCheckVersion.FirmwareCheckVersionProcedure());
             procedures.Add(new Procedure.ButtonStatusCheck.ButtonStatusCheckPorcedure());
-            //procedures.Add(new Procedure.RestarttoIdle.RestarttoIdleProcedure());
-            //procedures.Add(new Procedure.VersionLog.VersionLogProcedure());
+            procedures.Add(new Procedure.RestarttoIdle.RestarttoIdleProcedure());
+            procedures.Add(new Procedure.VersionLog.VersionLogProcedure());
 
             //procedures.Add(new Procedure.BasicInfoUpdate.BasicInfoUpdateProcedure());
             //procedures.Add(new Procedure.FourGenModuleCheck.FourGenModuleCheckProcedure());

+ 3 - 3
AwInitilizer/Properties/AssemblyInfo.cs

@@ -32,6 +32,6 @@ using System.Runtime.InteropServices;
 // You can specify all the values or you can default the Build and Revision Numbers
 // by using the '*' as shown below:
 // [assembly: AssemblyVersion("1.10.2.0")]
-[assembly: AssemblyVersion("1.10.2.0")]
-[assembly: AssemblyFileVersion("1.10.2.0")]
-[assembly: AssemblyInformationalVersion("8d07163")]
+[assembly: AssemblyVersion("1.10.3.0")]
+[assembly: AssemblyFileVersion("1.10.3.0")]
+[assembly: AssemblyInformationalVersion("4cdb87a")]

+ 6 - 6
GitVersion.yml

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

+ 1 - 1
Initilizer/AssemblyInfo.cs

@@ -11,5 +11,5 @@
 
 [assembly: AssemblyVersion("1.10.2.0")]
 [assembly: AssemblyFileVersion("1.10.2.0")]
-[assembly: AssemblyInformationalVersion("8d07163")]
+[assembly: AssemblyInformationalVersion("4cdb87a")]
 

+ 1 - 1
MesAdaptor/Properties/AssemblyInfo.cs

@@ -34,4 +34,4 @@ using System.Runtime.InteropServices;
 // [assembly: AssemblyVersion("1.10.2.0")]
 [assembly: AssemblyVersion("1.10.2.0")]
 [assembly: AssemblyFileVersion("1.10.2.0")]
-[assembly: AssemblyInformationalVersion("8d07163")]
+[assembly: AssemblyInformationalVersion("4cdb87a")]