[성현모] CPXV2 Init
This commit is contained in:
@ -0,0 +1,456 @@
|
||||
using DevExpress.Data.Helpers;
|
||||
using DevExpress.XtraBars;
|
||||
using DevExpress.XtraBars.Navigation;
|
||||
|
||||
using System;
|
||||
using System.Net;
|
||||
using System.Net.Sockets;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Linq;
|
||||
using System.IO;
|
||||
using System.Diagnostics;
|
||||
|
||||
using SystemX.Net;
|
||||
using SystemX.Common;
|
||||
using SystemX.Net.BaseProtocol;
|
||||
using SystemX.Net.Comm;
|
||||
using SystemX.Net.Schedule;
|
||||
using SystemX.Net.DB;
|
||||
using SystemX.Common.Serialization;
|
||||
using SystemX.Common.Archive;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using SystemX.Common.Protocol.SIA;
|
||||
|
||||
using static SystemX.Net.Platform.Common.Util.LogMessage;
|
||||
using System.Threading;
|
||||
using SystemX.Net.Middleware.Commons;
|
||||
using SystemX.Net.Platform.SystemX.Common;
|
||||
using CpTesterPlatform.CpLogUtil;
|
||||
|
||||
namespace SystemX.Net.MiddlewareUI
|
||||
{
|
||||
public partial class MainForm : DevExpress.XtraBars.FluentDesignSystem.FluentDesignForm
|
||||
{
|
||||
private async void WatchMappedLogQueue()
|
||||
{
|
||||
await Task.Delay(250);
|
||||
|
||||
while (!m_bTaskMappedLogBlock)
|
||||
{
|
||||
try
|
||||
{
|
||||
CT.ThrowIfCancellationRequested();
|
||||
}
|
||||
catch (OperationCanceledException CancelEx)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" Work Canceled. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n" + CancelEx.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
|
||||
break;
|
||||
}
|
||||
//
|
||||
try
|
||||
{
|
||||
if (MappedLogQueueData.Count > 0)
|
||||
{
|
||||
Tuple<string, int, HEADER_PACKET, byte[]> GetMappedLogData;
|
||||
|
||||
if (MappedLogQueueData.TryPeek(out GetMappedLogData))
|
||||
{
|
||||
if (SetMemoryMappedFile(GetMappedLogData.Item1, GetMappedLogData.Item2, GetMappedLogData.Item3, GetMappedLogData.Item4))
|
||||
{
|
||||
nMappedLogDataInOutFailedCnt = 0;
|
||||
|
||||
if (MappedLogQueueData.TryDequeue(out GetMappedLogData) == false)
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" Dequeue(PASS) failed. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nMappedLogDataInOutFailedCnt > 1)
|
||||
{
|
||||
nMappedLogDataInOutFailedCnt = 0;
|
||||
|
||||
if (MappedLogQueueData.TryDequeue(out GetMappedLogData) == false)
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" Dequeue(FAIL) failed. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
|
||||
nMappedLogDataInOutFailedCnt++;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" SetMemoryMappedFile Process failed. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
}
|
||||
else
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" TryPeek failed. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + @" General Queue Process failed. [SystemX.Net.MiddlewareUI : MainForm.WatchRecvStreamQueue]\r\n" + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
|
||||
if(bUseMapLogProcess)
|
||||
await Task.Delay(100);
|
||||
else
|
||||
await Task.Delay(10000);
|
||||
}
|
||||
}
|
||||
|
||||
public bool SetMemoryMappedFile(string strType, int nPos, HEADER_PACKET getHeader, byte[] ucFileData)
|
||||
{
|
||||
bool bMapLogCreateResult = true;
|
||||
|
||||
int nSetSize = int.MaxValue;
|
||||
|
||||
byte[] ucSetLogArray = null;
|
||||
|
||||
int nSetReadyPos = (nPos - PORT_DISTRIBUTION_NUM) * LogSharedMemory.nMaxStationSize;
|
||||
|
||||
string strProcessDebugInfo = string.Empty;
|
||||
strProcessDebugInfo = "[" + (nPos).ToString("D2") + "]" +
|
||||
"[" + ConnPool[nPos].nUseStreamPort + "]" +
|
||||
"[" + thisConnInfo[nPos].strConnectHostID + "]" +
|
||||
"[" + thisConnInfo[nPos].strConnectSection + "]";
|
||||
|
||||
CpLogProcessInfo.strProcessDebugInfo = strProcessDebugInfo;
|
||||
|
||||
try
|
||||
{
|
||||
using (InfoLogSharedMemory memInfoLog = new InfoLogSharedMemory(ParamterMapInfoLog))
|
||||
{
|
||||
InfoLogMappedPacket InfoLogMapFile = new InfoLogMappedPacket();
|
||||
nSetSize = Marshal.SizeOf(InfoLogMapFile);
|
||||
ucSetLogArray = new byte[nSetSize];
|
||||
InfoLogMapFile = (InfoLogMappedPacket)SystemXNetSerialization.RawDeSerialize(ucSetLogArray, InfoLogMapFile.GetType());
|
||||
|
||||
if (memInfoLog.CheckFile())
|
||||
{
|
||||
bool bFindInfoLogResult = false;
|
||||
|
||||
//로그 처리가 필요한 위치 조회
|
||||
bool[] bGetStationReadyLog = memInfoLog.Get(out bFindInfoLogResult, nSetSize);
|
||||
|
||||
if (bFindInfoLogResult)
|
||||
Array.Copy(bGetStationReadyLog, 0, InfoLogMapFile.bLogDataReady, 0, SharedMemory.nMaxInfoFullAccessSize);
|
||||
|
||||
using (LogSharedMemory memLog = new LogSharedMemory(ParamterMapLog))
|
||||
{
|
||||
LogMappedPacket LogMapFile = new LogMappedPacket();
|
||||
nSetSize = Marshal.SizeOf(LogMapFile);
|
||||
ucSetLogArray = new byte[nSetSize];
|
||||
LogMapFile = (LogMappedPacket)SystemXNetSerialization.RawDeSerialize(ucSetLogArray, LogMapFile.GetType());
|
||||
|
||||
LogMapFile.bSectionUse = true;
|
||||
LogMapFile.objLogType[0].Data = strType;
|
||||
LogMapFile.bLogFileReadComplete = false;
|
||||
LogMapFile.bLogFileProcessComplete = false;
|
||||
LogMapFile.nNumber = nPos;
|
||||
LogMapFile.bShowCpLogProcessTime = bShowCpLogProcessTime;
|
||||
LogMapFile.nCommandPort = ConnPool[nPos].nUseCommandPort;
|
||||
LogMapFile.nStreamPort = ConnPool[nPos].nUseStreamPort;
|
||||
LogMapFile.objHost[0].Data = thisConnInfo[nPos].strConnectHostID;
|
||||
LogMapFile.objSection[0].Data = thisConnInfo[nPos].strConnectSection;
|
||||
|
||||
bool bMakeTempTestListCntID = false;
|
||||
string strGetStationNameChk = getHeader.objCP_Packet[0].objStationName[0].Data;
|
||||
string strSetOrgStationName = string.Empty;
|
||||
|
||||
bool bHaveTestListID = false;
|
||||
string strGetTransferTestListCntID = string.Empty;
|
||||
|
||||
if (strGetStationNameChk.IndexOf(";@#$%;TFL") >= 0)
|
||||
{
|
||||
bMakeTempTestListCntID = true;
|
||||
|
||||
strSetOrgStationName = strGetStationNameChk.Substring(0, strGetStationNameChk.IndexOf(";@#$%;TFL"));
|
||||
}
|
||||
else
|
||||
strSetOrgStationName = strGetStationNameChk;
|
||||
|
||||
strGetTransferTestListCntID = getHeader.objVarParam1[0].Data;
|
||||
|
||||
if (strGetTransferTestListCntID.Split('@').Count() > 1)
|
||||
bHaveTestListID = true;
|
||||
|
||||
LogMapFile.objStationName[0].Data = strSetOrgStationName;
|
||||
LogMapFile.objOptionFileName[0].Data = getHeader.objOptionName[0].Data;
|
||||
LogMapFile.objOptionFileExtension[0].Data = getHeader.objOptionExtension[0].Data;
|
||||
|
||||
LogMapFile.nStationID = 0;
|
||||
LogMapFile.objProdPNo[0].Data = getHeader.objCP_Packet[0].objProdNo_P[0].Data;
|
||||
LogMapFile.objProdCNo[0].Data = getHeader.objCP_Packet[0].objProdNo_C[0].Data;
|
||||
LogMapFile.objTestType[0].Data = getHeader.objCP_Packet[0].objTestType[0].Data;
|
||||
LogMapFile.objTestCode[0].Data = getHeader.objCP_Packet[0].objTestCode[0].Data;
|
||||
LogMapFile.objVersion[0].Data = getHeader.objCP_Packet[0].objVersion[0].Data;
|
||||
LogMapFile.objProdCode[0].Data = getHeader.objCP_Packet[0].objProdCode[0].Data;
|
||||
LogMapFile.nTestListVariantNo = (int)getHeader.objCP_Packet[0].uiTestListNo;
|
||||
|
||||
bool bCheckResult = string.IsNullOrEmpty(thisConnInfo[nPos].strResultTestListCntID);
|
||||
if (bCheckResult || bMakeTempTestListCntID)
|
||||
{
|
||||
string strSetTempTestListCntID = string.Empty;
|
||||
|
||||
if (bHaveTestListID == false)
|
||||
strSetTempTestListCntID = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "@0";
|
||||
else
|
||||
strSetTempTestListCntID = strGetTransferTestListCntID;
|
||||
|
||||
/// TODO : Failed Transfer File
|
||||
/// Ver 0
|
||||
/// 빈 아이디가 아닐 경우 현재 아이디 정보와 재전송 파일 정보 비교하여 동일할 경우 현재 아이디로 저장
|
||||
/// > 추후 분류(검색)에 문제가 될경우 임시 아이디로 변경 해야 할수도 있다.
|
||||
///
|
||||
/// Ver 1
|
||||
/// 실패한 파일일때만 아이디 확인, 없으면 임시, 있으면 보낸 아이디로 저장
|
||||
/*
|
||||
if (bCheckResult == false)
|
||||
{
|
||||
string strHostSectionInfo =
|
||||
thisConnInfo[nPos].strConnectHostID + ";" +
|
||||
thisConnInfo[nPos].strConnectSection;
|
||||
|
||||
string strMakeCntID =
|
||||
getHeader.objCP_Packet[0].objProdNo_C[0].Data + ";" +
|
||||
getHeader.objCP_Packet[0].objTestType[0].Data + ";" +
|
||||
getHeader.objCP_Packet[0].objTestCode[0].Data + ";" +
|
||||
getHeader.objCP_Packet[0].objVersion[0].Data + ";" +
|
||||
getHeader.objCP_Packet[0].objProdCode[0].Data;// + ";" +
|
||||
//strFileName;
|
||||
|
||||
//패킷의 정보로 Dic 검색 후 존재 한다면 생성하여 현재 아이디랑 비교후 일치한다면 현재 ID 사용
|
||||
if (dicQueryTestListCntID.ContainsKey(strHostSectionInfo))
|
||||
{
|
||||
if (dicQueryTestListCntID[strHostSectionInfo].ContainsKey(strMakeCntID))
|
||||
{
|
||||
string strGetCurTLCntID = dicQueryTestListCntID[strHostSectionInfo][strMakeCntID].dtAccessTime.ToString("yyyyMMddHHmmssfff") + "@" +
|
||||
dicQueryTestListCntID[strHostSectionInfo][strMakeCntID].nCnt.ToString();
|
||||
|
||||
if (thisConnInfo[nPos].strResultTestListCntID.CompareTo(strGetCurTLCntID) == 0)
|
||||
strSetTempTestListCntID = thisConnInfo[nPos].strResultTestListCntID;
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
LogMapFile.objResultTestListCntID[0].Data = strSetTempTestListCntID;
|
||||
}
|
||||
else
|
||||
LogMapFile.objResultTestListCntID[0].Data = thisConnInfo[nPos].strResultTestListCntID;
|
||||
|
||||
ucFileData.CopyTo(LogMapFile.ucLogData, 0);
|
||||
|
||||
LogMapFile.nLogDataSize = ucFileData.Count();
|
||||
//
|
||||
string strRandFilePath = string.Empty;
|
||||
|
||||
byte[] ucGetFileData = null;
|
||||
byte[] ucSetFileData = null;
|
||||
|
||||
try
|
||||
{
|
||||
ucGetFileData = new byte[LogMapFile.nLogDataSize];
|
||||
Array.Copy(LogMapFile.ucLogData, 0, ucGetFileData, 0, LogMapFile.nLogDataSize);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - Create file data make failed. [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
|
||||
ucGetFileData = null;
|
||||
|
||||
bMapLogCreateResult = false;
|
||||
}
|
||||
//
|
||||
try
|
||||
{
|
||||
string strRandName = Path.GetRandomFileName();
|
||||
string strRandFile = Path.GetFileNameWithoutExtension(strRandName);
|
||||
|
||||
string strRandPath = Path.GetTempPath();
|
||||
strRandFilePath = strRandPath + strRandFile + LogMapFile.objOptionFileExtension[0].Data;
|
||||
|
||||
if (ucGetFileData == null)
|
||||
throw new Exception("CpLog - Log file data null.");
|
||||
|
||||
if (LogMapFile.objLogType[0].Data == "RAW_SIZE")
|
||||
ucSetFileData = XDataArchive.DecompressGZipByteToByte(ucGetFileData);
|
||||
else if (LogMapFile.objLogType[0].Data == "FILE_TRANSFER")
|
||||
ucSetFileData = XDataArchive.DecompressDeflateByteToByte(ucGetFileData);
|
||||
|
||||
if (ucSetFileData == null)
|
||||
throw new Exception("CpLog - Log file data decompress failed.");
|
||||
|
||||
CpLogHeader getCpLogHeader = null;
|
||||
|
||||
File.WriteAllBytes(strRandFilePath, ucSetFileData);
|
||||
|
||||
//해당 CpLog 파일 읽기 및 헤더 정보 획득
|
||||
DataTable dtLogData = null;
|
||||
dtLogData = CpLogFileIO.GetLogData(strRandFilePath, out getCpLogHeader);
|
||||
|
||||
if (dtLogData != null && getCpLogHeader != null)
|
||||
{
|
||||
string strGetStationID = getCpLogHeader.CHANNEL.Trim();
|
||||
|
||||
int nGetStationID = int.MaxValue;
|
||||
if (int.TryParse(strGetStationID, out nGetStationID))
|
||||
LogMapFile.nStationID = nGetStationID;
|
||||
|
||||
if (nGetStationID < 0)
|
||||
{
|
||||
LogMapFile.nStationID = 0;
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - StationID negative value [" + nGetStationID.ToString() + "] detect. [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] ", ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
if (LogMapFile.nStationID >= LogSharedMemory.nMaxStationSize)
|
||||
{
|
||||
if (InfoLogMapFile.bLogDataReady[nSetReadyPos])
|
||||
InfoLogMapFile.bLogDataReady[nSetReadyPos] = false;
|
||||
else
|
||||
InfoLogMapFile.bLogDataReady[nSetReadyPos] = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (InfoLogMapFile.bLogDataReady[nSetReadyPos + LogMapFile.nStationID])
|
||||
InfoLogMapFile.bLogDataReady[nSetReadyPos + LogMapFile.nStationID] = false;
|
||||
else
|
||||
InfoLogMapFile.bLogDataReady[nSetReadyPos + LogMapFile.nStationID] = true;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - Check StationID failed. [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
|
||||
bMapLogCreateResult = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (File.Exists(strRandFilePath))
|
||||
File.Delete(strRandFilePath);
|
||||
|
||||
if (bMapLogCreateResult == false)
|
||||
{
|
||||
//문제 발생 로그 확인 파일생성 위치 및 파일명 생성
|
||||
if (ucGetFileData == null)
|
||||
goto CHECK_LOG_FILE_MAKE_SKIP;
|
||||
if (ucSetFileData == null)
|
||||
goto CHECK_LOG_FILE_MAKE_SKIP;
|
||||
|
||||
try
|
||||
{
|
||||
string strMakeDate = DateTime.Now.ToString(@"yyyy\\MM\\dd\\");
|
||||
|
||||
string strCreateFileName = CPXV2_GetCheckLogFilePath(LogMapFile, strMakeDate);
|
||||
|
||||
if (File.Exists(strCreateFileName) == false)
|
||||
File.WriteAllBytes(strCreateFileName, ucSetFileData);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - Check log file create failed. [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + ex.Message, ConsoleColor.Yellow, LogMessageLevel.DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
CHECK_LOG_FILE_MAKE_SKIP:;
|
||||
}
|
||||
|
||||
memLog.Set(nPos, LogMapFile);
|
||||
}
|
||||
|
||||
memInfoLog.Set(InfoLogMapFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(memInfoLog.CheckExistsInfoFile() == false)
|
||||
memInfoLog.Set(InfoLogMapFile);
|
||||
|
||||
//Info File Access Failed
|
||||
bMapLogCreateResult = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
/*
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - " + $"ST Frame Count {st.FrameCount} [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
|
||||
for (int n = 0; n < st.FrameCount; n++)
|
||||
{
|
||||
StackFrame sf = st.GetFrame(n);
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - " + $"ST Method To String {sf.GetMethod()} [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - " + $"ST Method Name {sf.GetMethod().Name} [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - " + $"ST Line Number {sf.GetFileLineNumber()} [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - " + $"ST Column Number {sf.GetFileColumnNumber()} [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
}
|
||||
*/
|
||||
|
||||
MessageOutput.ConsoleWrite(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss>>") + CpLogProcessInfo.strProcessDebugInfo + @" CpLog - Create Map Log failed. [SystemX.Net.MiddlewareUI : MainForm.SetMemoryMappedFile] " + e.Message, ConsoleColor.Red, LogMessageLevel.FATAL);
|
||||
|
||||
bMapLogCreateResult = false;
|
||||
}
|
||||
|
||||
//long l1 = stChkTime.ElapsedMilliseconds;
|
||||
|
||||
return bMapLogCreateResult;
|
||||
}
|
||||
|
||||
private string CPXV2_GetLogFileName(LogMappedPacket GetMappedInfo, string strCreateName)
|
||||
{
|
||||
Random randNumber = new Random();
|
||||
|
||||
string strFileName = strCreateName;
|
||||
|
||||
if (GetMappedInfo.objOptionFileName[0].Data.CompareTo("-") == 0)
|
||||
strFileName += @"LogFileTemp" + @randNumber.Next().ToString() + @GetMappedInfo.objOptionFileExtension[0].Data;
|
||||
else
|
||||
strFileName += @GetMappedInfo.objOptionFileName[0].Data + @GetMappedInfo.objOptionFileExtension[0].Data;
|
||||
|
||||
if (File.Exists(strFileName) == true)
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
strFileName = strCreateName;
|
||||
|
||||
if (GetMappedInfo.objOptionFileName[0].Data.CompareTo("-") == 0)
|
||||
strFileName += @"LogFileTemp" + @randNumber.Next().ToString() + @GetMappedInfo.objOptionFileExtension[0].Data;
|
||||
else
|
||||
strFileName += @GetMappedInfo.objOptionFileName[0].Data + "_" + @randNumber.Next().ToString() + @GetMappedInfo.objOptionFileExtension[0].Data;
|
||||
|
||||
if (File.Exists(strFileName) == false)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return strFileName;
|
||||
}
|
||||
|
||||
private string CPXV2_GetCheckLogFilePath(LogMappedPacket GetMappedInfo,
|
||||
string strMakeDate,
|
||||
bool bGetOnlyFilePath = false)
|
||||
{
|
||||
string strMakeInfo = string.Empty;
|
||||
string strMakeName = string.Empty;
|
||||
|
||||
strMakeInfo = LoadInfo.SERVER_SAVE_POS + @"\" + strMakeDate;
|
||||
strMakeInfo += @"LogFileSave_ProcessPort" + "(" + GetMappedInfo.nStreamPort + ")_" + GetMappedInfo.objHost[0].Data + "_" + GetMappedInfo.objSection[0].Data + @"\LogCheck\";
|
||||
|
||||
if (Directory.Exists(strMakeInfo) == false)
|
||||
Directory.CreateDirectory(strMakeInfo);
|
||||
|
||||
if (bGetOnlyFilePath == false)
|
||||
strMakeName = CPXV2_GetLogFileName(GetMappedInfo, strMakeInfo);
|
||||
else
|
||||
strMakeName = strMakeInfo;
|
||||
|
||||
return strMakeName;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user