548 lines
24 KiB
C#
548 lines
24 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Runtime.InteropServices;
|
|
using System.IO;
|
|
using System.Security.Cryptography;
|
|
using System.Data;
|
|
using System.Text.RegularExpressions;
|
|
using System.Net.Sockets;
|
|
using System.Globalization;
|
|
using System.Threading;
|
|
using System.Diagnostics;
|
|
using System.Net;
|
|
|
|
using SystemX.Net.BaseProtocol;
|
|
using System.Xml.Linq;
|
|
using static SystemX.Net.Platform.Common.Util.LogMessage;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace SystemX.Net.Middleware.Log.Commons
|
|
{
|
|
using ParamElement = Tuple<SqlDbType, int, byte, byte>;
|
|
|
|
public class HISTTesterSummary
|
|
{
|
|
public string StationName { set; get; }
|
|
public string TestType { set; get; }
|
|
public string Version { set; get; }
|
|
public string ProdCode { set; get; }
|
|
public int TestListFileNo { set; get; }
|
|
public int TestListVariantNo { set; get; }
|
|
public string TestListCntID { set; get; }
|
|
|
|
public int StepVersion { set; get; }
|
|
public string Host { set; get; }
|
|
public string Section { set; get; }
|
|
public string ProdNoC { set; get; }
|
|
public string ProdNoP { set; get; }
|
|
public string TestCode { set; get; }
|
|
public string TestListFileName { set; get; }
|
|
public string ProductID { set; get; }
|
|
public string Result { set; get; }
|
|
public string Duration { set; get; }
|
|
public DateTime TestDT { set; get; }
|
|
}
|
|
|
|
public class HISTLogSummary
|
|
{
|
|
public string StationName { set; get; }
|
|
public string TestType { set; get; }
|
|
public string Version { set; get; }
|
|
public string ProdCode { set; get; }
|
|
public int TestListFileNo { set; get; }
|
|
public int TestListVariantNo { set; get; }
|
|
public string TestListCntID { set; get; }
|
|
|
|
public int StepVersion { set; get; }
|
|
public string Host { set; get; }
|
|
public string Section { set; get; }
|
|
public string ProdNoC { set; get; }
|
|
public string ProdNoP { set; get; }
|
|
public string TestCode { set; get; }
|
|
public string TestListFileName { set; get; }
|
|
public string ProductID { set; get; }
|
|
public string Result { set; get; }
|
|
public string Duration { set; get; }
|
|
public DateTime TestDT { set; get; }
|
|
}
|
|
|
|
public static class ShortLogParamInfo
|
|
{
|
|
public static readonly int MessageLength = 4096;
|
|
public static readonly int MessageValLength = 2024;
|
|
|
|
public static string STEP = "";
|
|
public static string POSITION = "";
|
|
public static string MO = "";
|
|
public static string FNC_NAME = "";
|
|
public static string MIN = "";
|
|
public static string MEASURE = "";
|
|
public static string MAX = "";
|
|
public static string DIM = "";
|
|
public static string CHECK = "";
|
|
public static string SPENT_TIME = "";
|
|
public static string INFO = "";
|
|
|
|
public static bool GLOBAL_SPEC = false;
|
|
public static string VRFY_MIN = "";
|
|
public static string VRFY_MAX = "";
|
|
}
|
|
|
|
public static class LongLogParamInfo
|
|
{
|
|
public static readonly int MessageLength = 4096;
|
|
public static readonly int MessageValLength = 2024;
|
|
|
|
public static string STEP = "";
|
|
public static string POSITION = "";
|
|
public static string MO = "";
|
|
public static string FNC_NAME = "";
|
|
public static string MIN = "";
|
|
public static string MEASURE = "";
|
|
public static string MAX = "";
|
|
public static string DIM = "";
|
|
public static string CHECK = "";
|
|
public static string SPENT_TIME = "";
|
|
public static string INFO = "";
|
|
|
|
public static bool GLOBAL_SPEC = false;
|
|
public static string VRFY_MIN = "";
|
|
public static string VRFY_MAX = "";
|
|
}
|
|
|
|
public static class ParamSet
|
|
{
|
|
public static Dictionary<string, ParamElement> fParam = new Dictionary<string, ParamElement>();
|
|
|
|
public static void TestResultField()
|
|
{
|
|
fParam.Clear();
|
|
fParam = new Dictionary<string, ParamElement>();
|
|
fParam.Add("No", new ParamElement(SqlDbType.BigInt, 0, 0, 0));
|
|
fParam.Add("TestDT", new ParamElement(SqlDbType.DateTime2, 7, 0, 0));
|
|
fParam.Add("LogData", new ParamElement(SqlDbType.NVarChar, -1, 0, 0));
|
|
}
|
|
|
|
public static void TesterSummaryField()
|
|
{
|
|
fParam.Clear();
|
|
fParam = new Dictionary<string, ParamElement>();
|
|
fParam.Add("StationName", new ParamElement(SqlDbType.NVarChar, 128, 0, 0));
|
|
fParam.Add("TestType", new ParamElement(SqlDbType.NVarChar, 8, 0, 0));
|
|
fParam.Add("Version", new ParamElement(SqlDbType.NVarChar, 4, 0, 0));
|
|
fParam.Add("ProdCode", new ParamElement(SqlDbType.NVarChar, 4, 0, 0));
|
|
fParam.Add("TestListFileNo", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("TestListVariantNo", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("TestListCntID", new ParamElement(SqlDbType.NVarChar, 256, 0, 0));
|
|
fParam.Add("StepVersion", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("HostID", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("Section", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("ProdNo_C", new ParamElement(SqlDbType.NVarChar, 32, 0, 0));
|
|
fParam.Add("ProdNo_P", new ParamElement(SqlDbType.NVarChar, 32, 0, 0));
|
|
fParam.Add("Testcode", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("TestListFileName", new ParamElement(SqlDbType.NVarChar, 256, 0, 0));
|
|
fParam.Add("ProductID", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("Result", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("Duration", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("TestDT", new ParamElement(SqlDbType.DateTime2, 7, 0, 0));
|
|
}
|
|
|
|
public static void LogSummaryField()
|
|
{
|
|
fParam.Clear();
|
|
fParam = new Dictionary<string, ParamElement>();
|
|
fParam.Add("StationName", new ParamElement(SqlDbType.NVarChar, 128, 0, 0));
|
|
fParam.Add("TestType", new ParamElement(SqlDbType.NVarChar, 8, 0, 0));
|
|
fParam.Add("Version", new ParamElement(SqlDbType.NVarChar, 4, 0, 0));
|
|
fParam.Add("ProdCode", new ParamElement(SqlDbType.NVarChar, 4, 0, 0));
|
|
fParam.Add("TestListFileNo", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("TestListVariantNo", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("TestListCntID", new ParamElement(SqlDbType.NVarChar, 256, 0, 0));
|
|
fParam.Add("StepVersion", new ParamElement(SqlDbType.Int, 0, 0, 0));
|
|
fParam.Add("HostID", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("Section", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("ProdNo_C", new ParamElement(SqlDbType.NVarChar, 32, 0, 0));
|
|
fParam.Add("ProdNo_P", new ParamElement(SqlDbType.NVarChar, 32, 0, 0));
|
|
fParam.Add("Testcode", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("TestListFileName", new ParamElement(SqlDbType.NVarChar, 256, 0, 0));
|
|
fParam.Add("ProductID", new ParamElement(SqlDbType.NVarChar, 64, 0, 0));
|
|
fParam.Add("Result", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("Duration", new ParamElement(SqlDbType.NVarChar, 16, 0, 0));
|
|
fParam.Add("TestDT", new ParamElement(SqlDbType.DateTime2, 7, 0, 0));
|
|
}
|
|
|
|
public static SqlParameter GetMakeSqlParameterInfo(Dictionary<string, ParamElement> refField, string strSetName, object objValue)
|
|
{
|
|
if (refField.ContainsKey(strSetName))
|
|
{
|
|
SqlParameter param = null;
|
|
|
|
if (refField[strSetName].Item2 != 0)
|
|
param = new SqlParameter("@" + strSetName, refField[strSetName].Item1, refField[strSetName].Item2);
|
|
else
|
|
param = new SqlParameter("@" + strSetName, refField[strSetName].Item1);
|
|
|
|
if (refField[strSetName].Item1 == SqlDbType.Decimal)
|
|
{
|
|
param.Precision = refField[strSetName].Item3;
|
|
param.Scale = refField[strSetName].Item4;
|
|
}
|
|
|
|
param.Value = objValue;
|
|
return param;
|
|
}
|
|
else
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public class CommonProtocol
|
|
{
|
|
public SqlCommand LogDataResultInsert(string strTableName, DataRow itemData)
|
|
{
|
|
string columns = string.Empty;
|
|
columns = "No,TestDT,LogData";
|
|
|
|
string values = string.Join(",", columns.Split(',').Select(c => string.Format("@{0}", c)));
|
|
string sqlCommand = string.Format("INSERT INTO [" + strTableName + "] ({0}) VALUES ({1})", columns, values);
|
|
|
|
ParamSet.TestResultField();
|
|
|
|
SqlCommand cmd = new SqlCommand(sqlCommand);
|
|
|
|
SqlParameter[] setParams = new SqlParameter[columns.Split(',').Count()];
|
|
|
|
setParams[0] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "No", Convert.ToInt64(itemData["No"]));
|
|
setParams[1] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestDT", Convert.ToDateTime(itemData["TestDT"]));
|
|
setParams[2] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "LogData", Convert.ToString(itemData["LogData"]));
|
|
|
|
cmd.Parameters.AddRange(setParams);
|
|
|
|
return cmd;
|
|
}
|
|
|
|
public SqlCommand LogDataSummaryInsert(string strTableName, HISTLogSummary itemSummary)
|
|
{
|
|
string columns = string.Empty;
|
|
if (itemSummary.TestListCntID == string.Empty)
|
|
columns = "StationName,TestType,Version,ProdCode,TestListFileNo,TestListVariantNo,StepVersion,HostID,Section,ProdNo_C,ProdNo_P,Testcode,TestListFileName,ProductID,Result,Duration,TestDT";
|
|
else
|
|
columns = "StationName,TestType,Version,ProdCode,TestListFileNo,TestListVariantNo,TestListCntID,StepVersion,HostID,Section,ProdNo_C,ProdNo_P,Testcode,TestListFileName,ProductID,Result,Duration,TestDT";
|
|
|
|
string values = string.Join(",", columns.Split(',').Select(c => string.Format("@{0}", c)));
|
|
string sqlCommand = string.Format("INSERT INTO [" + strTableName + "] ({0}) VALUES ({1})", columns, values);
|
|
|
|
ParamSet.LogSummaryField();
|
|
|
|
SqlCommand cmd = new SqlCommand(sqlCommand);
|
|
|
|
SqlParameter[] setParams = new SqlParameter[columns.Split(',').Count()];
|
|
|
|
if (itemSummary.TestListCntID == string.Empty)
|
|
{
|
|
setParams[0] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "StationName", itemSummary.StationName);
|
|
setParams[1] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestType", itemSummary.TestType);
|
|
setParams[2] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Version", itemSummary.Version);
|
|
setParams[3] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdCode", itemSummary.ProdCode);
|
|
setParams[4] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListFileNo", itemSummary.TestListFileNo);
|
|
setParams[5] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListVariantNo", itemSummary.TestListVariantNo);
|
|
setParams[6] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "StepVersion", itemSummary.StepVersion);
|
|
setParams[7] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "HostID", itemSummary.Host);
|
|
setParams[8] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Section", itemSummary.Section);
|
|
setParams[9] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdNo_C", itemSummary.ProdNoC);
|
|
setParams[10] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdNo_P", itemSummary.ProdNoP);
|
|
setParams[11] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Testcode", itemSummary.TestCode);
|
|
setParams[12] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListFileName", itemSummary.TestListFileName);
|
|
setParams[13] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProductID", itemSummary.ProductID);
|
|
setParams[14] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Result", itemSummary.Result);
|
|
setParams[15] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Duration", itemSummary.Duration);
|
|
setParams[16] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestDT", itemSummary.TestDT);
|
|
}
|
|
else
|
|
{
|
|
setParams[0] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "StationName", itemSummary.StationName);
|
|
setParams[1] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestType", itemSummary.TestType);
|
|
setParams[2] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Version", itemSummary.Version);
|
|
setParams[3] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdCode", itemSummary.ProdCode);
|
|
setParams[4] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListFileNo", itemSummary.TestListFileNo);
|
|
setParams[5] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListVariantNo", itemSummary.TestListVariantNo);
|
|
setParams[6] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListCntID", itemSummary.TestListCntID);
|
|
setParams[7] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "StepVersion", itemSummary.StepVersion);
|
|
setParams[8] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "HostID", itemSummary.Host);
|
|
setParams[9] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Section", itemSummary.Section);
|
|
setParams[10] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdNo_C", itemSummary.ProdNoC);
|
|
setParams[11] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProdNo_P", itemSummary.ProdNoP);
|
|
setParams[12] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Testcode", itemSummary.TestCode);
|
|
setParams[13] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestListFileName", itemSummary.TestListFileName);
|
|
setParams[14] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "ProductID", itemSummary.ProductID);
|
|
setParams[15] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Result", itemSummary.Result);
|
|
setParams[16] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "Duration", itemSummary.Duration);
|
|
setParams[17] = ParamSet.GetMakeSqlParameterInfo(ParamSet.fParam, "TestDT", itemSummary.TestDT);
|
|
}
|
|
|
|
cmd.Parameters.AddRange(setParams);
|
|
|
|
return cmd;
|
|
}
|
|
}
|
|
|
|
public static class COMMON
|
|
{
|
|
[DllImport("winmm.dll")]
|
|
public static extern uint timeGetTime();
|
|
|
|
public const string Png = "PNG Portable Network Graphics (*.png)|" + "*.png";
|
|
public const string Jpg = "JPEG File Interchange Format (*.jpg *.jpeg *jfif)|" + "*.jpg;*.jpeg;*.jfif";
|
|
public const string Bmp = "BMP Windows Bitmap (*.bmp)|" + "*.bmp";
|
|
public const string Tif = "TIF Tagged Imaged File Format (*.tif *.tiff)|" + "*.tif;*.tiff";
|
|
public const string Gif = "GIF Graphics Interchange Format (*.gif)|" + "*.gif";
|
|
public const string AllImages = "Image file|" + "*.png; *.jpg; *.jpeg; *.jfif; *.bmp;*.tif; *.tiff; *.gif";
|
|
public const string AllFiles = "All files (*.*)" + "|*.*";
|
|
|
|
public static string[] mediaExtensions = {
|
|
".PNG", ".JPG", ".JPEG", ".BMP", ".GIF", //etc
|
|
".WAV", ".MID", ".MIDI", ".WMA", ".MP3", ".OGG", ".RMA", //etc
|
|
".AVI", ".MP4", ".DIVX", ".WMV", //etc
|
|
};
|
|
|
|
public static DataTable ConvertCSVtoDataTable(string strFilePath, string strSetHeader)
|
|
{
|
|
DataTable dt = null;
|
|
try
|
|
{
|
|
using (StreamReader sr = new StreamReader(strFilePath))
|
|
{
|
|
string[] headers = null;
|
|
|
|
if (strSetHeader.Length > 0)
|
|
headers = strSetHeader.Split(',');
|
|
else
|
|
headers = sr.ReadLine().Split(',');
|
|
|
|
dt = new DataTable();
|
|
foreach (string header in headers)
|
|
{
|
|
dt.Columns.Add(header);
|
|
}
|
|
while (!sr.EndOfStream)
|
|
{
|
|
string strReadData = sr.ReadLine().Trim();
|
|
if (strReadData.Length <= 0)
|
|
break;
|
|
|
|
string[] rows = Regex.Split(strReadData, ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");
|
|
DataRow dr = dt.NewRow();
|
|
for (int i = 0; i < headers.Length; i++)
|
|
{
|
|
dr[i] = rows[i];
|
|
}
|
|
dt.Rows.Add(dr);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
dt = null;
|
|
}
|
|
|
|
return dt;
|
|
}
|
|
|
|
public static T ConvertTextToTryValue<T>(string strText, object objFailValue)
|
|
{
|
|
object obj;
|
|
obj = typeof(T);
|
|
|
|
int iGetValue = 0;
|
|
uint uiGetValue = 0;
|
|
double dGetValue = 0;
|
|
|
|
if (obj.ToString().IndexOf("Int") >= 0)
|
|
{
|
|
if (!int.TryParse(strText, out iGetValue))
|
|
obj = objFailValue;
|
|
else
|
|
obj = iGetValue;
|
|
}
|
|
if (obj.ToString().IndexOf("UInt") >= 0)
|
|
{
|
|
if (!uint.TryParse(strText, out uiGetValue))
|
|
obj = objFailValue;
|
|
else
|
|
obj = uiGetValue;
|
|
}
|
|
else if (obj.ToString().IndexOf("Double") >= 0)
|
|
{
|
|
if (!double.TryParse(strText, out dGetValue))
|
|
obj = objFailValue;
|
|
else
|
|
obj = dGetValue;
|
|
}
|
|
|
|
return (T)Convert.ChangeType(obj, typeof(T));
|
|
}
|
|
|
|
public static T FindByName<T>(this object targetClass, string name) where T : class
|
|
{
|
|
System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
|
|
|
|
return fi.GetValue(targetClass) as T;
|
|
}
|
|
|
|
public static T FindByName<T>(this string name, object targetClass) where T : class
|
|
{
|
|
System.Reflection.FieldInfo fi = targetClass.GetType().GetField(name, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
|
|
|
|
return fi.GetValue(targetClass) as T;
|
|
}
|
|
|
|
public class LogProcessInfo
|
|
{
|
|
public bool READ_INFO_STATE { set; get; }
|
|
|
|
private string strInfoFilePos;
|
|
|
|
public string TITLE;
|
|
|
|
public string SERVER_SAVE_POS;
|
|
public string MES_SAVE_POS;
|
|
|
|
//TODO : Server ALIS FTP
|
|
public bool FTP_Use;
|
|
|
|
public string FTP_IPAddress;
|
|
public string FTP_Port;
|
|
public string FTP_Account;
|
|
public string FTP_Password;
|
|
|
|
public long FTP_ScanTime_ms;
|
|
|
|
public long BULK_ProcessTime_ms;
|
|
|
|
public LogProcessInfo(string strGetInfoPath)
|
|
{
|
|
strInfoFilePos = strGetInfoPath;
|
|
}
|
|
public bool Load()
|
|
{
|
|
READ_INFO_STATE = true;
|
|
|
|
try
|
|
{
|
|
XDocument xDoc = XDocument.Load(strInfoFilePos);
|
|
var xElement = xDoc.Element("ROOT");
|
|
|
|
if (xElement != null)
|
|
{
|
|
var xGetElement = xElement.Element("Configure");
|
|
|
|
TITLE = xGetElement.Element("Title").Value;
|
|
|
|
SERVER_SAVE_POS = @xGetElement.Element("LogFileSavePos").Value;
|
|
MES_SAVE_POS = @xGetElement.Element("MESFileSavePos").Value;
|
|
|
|
//TODO : Server ALIS FTP
|
|
XElement xEle = xGetElement.Element("UseFTP");
|
|
|
|
bool bValue;
|
|
long lValue;
|
|
//string strValue;
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
{
|
|
if (bool.TryParse(xEle.Value, out bValue))
|
|
FTP_Use = bValue;
|
|
}
|
|
else
|
|
FTP_Use = false;
|
|
|
|
xEle = xGetElement.Element("IPAddressFTP");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
FTP_IPAddress = xEle.Value;
|
|
else
|
|
FTP_IPAddress = "0.0.0.0";
|
|
|
|
xEle = xGetElement.Element("PortFTP");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
FTP_Port = xEle.Value;
|
|
else
|
|
FTP_Port = "21";
|
|
|
|
xEle = xGetElement.Element("AccountFTP");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
FTP_Account = xEle.Value;
|
|
else
|
|
FTP_Account = "";
|
|
|
|
xEle = xGetElement.Element("PasswordFTP");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
FTP_Password = xEle.Value;
|
|
else
|
|
FTP_Password = "";
|
|
|
|
xEle = xGetElement.Element("ScanTimeFTPms");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
{
|
|
if (long.TryParse(xEle.Value, out lValue))
|
|
FTP_ScanTime_ms = lValue;
|
|
}
|
|
else
|
|
FTP_ScanTime_ms = 30000;
|
|
|
|
xEle = xGetElement.Element("ScanTimeBULKms");
|
|
|
|
if (xEle?.IsEmpty == false)
|
|
{
|
|
if (long.TryParse(xEle.Value, out lValue))
|
|
BULK_ProcessTime_ms = lValue;
|
|
}
|
|
else
|
|
BULK_ProcessTime_ms = 30000;
|
|
|
|
if (Base.CheckPath(SERVER_SAVE_POS))
|
|
{
|
|
if (Directory.Exists(SERVER_SAVE_POS) == false)
|
|
Directory.CreateDirectory(SERVER_SAVE_POS);
|
|
}
|
|
else
|
|
{
|
|
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"ServerInfo read failed.(SERVER SAVE POS - Folder name error)[SystemX.Common : SystemX.Net.ServerInfo]", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
|
|
|
throw new Exception();
|
|
}
|
|
|
|
if (Base.CheckPath(MES_SAVE_POS))
|
|
{
|
|
if (Directory.Exists(MES_SAVE_POS) == false)
|
|
Directory.CreateDirectory(MES_SAVE_POS);
|
|
}
|
|
else
|
|
{
|
|
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"ServerInfo read failed.(MES SAVE POS - Folder name error)[SystemX.Common : SystemX.Net.ServerInfo]", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
|
|
|
throw new Exception();
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
READ_INFO_STATE = false;
|
|
|
|
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @"LogProcessInfo read failed. [LogProcessInfo : SystemX.Net.Middleware.Commons]\r\n" + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
|
}
|
|
|
|
return READ_INFO_STATE;
|
|
}
|
|
}
|
|
}
|
|
}
|