private void StartAndStop() { if (!LoopFlag) { //start SaveMonitoringInfoFile(); LogActionGroup logAction = new LogActionGroup( writeStatus: WriteStatus , writeAllItem: WriteAllItem , writeFilteredItem: WriteFilteredItem , writeExceptedItem: WriteExceptedItem , writeSleepStatus: WriteSleepStatus); Monitoring monitoring = new Monitoring(MonitoringInfoJson, GetLoopFlag, logAction); LoopFlag = true; ChangeRunningState(); threadMainJob = new System.Threading.Thread(new System.Threading.ThreadStart(monitoring.RunMonitoring)); threadMainJob.Name = "loopStart"; threadMainJob.Start(); } else { //stop LoopFlag = false; ChangeRunningState(); } }
public Monitoring(string json , Func <bool> getLoopFlag , LogActionGroup logAction) { Init(json: json , getLoopFlag: getLoopFlag , logAction: logAction); }
private void Init(string json , Func <bool> getLoopFlag , LogActionGroup logAction) { List <IParsingModule> lstParsingModule = new List <IParsingModule>() { new Joonggonara(logAction.WriteStatus) }; Init(json: json , getLoopFlag: getLoopFlag , logAction: logAction , lstParsingModule: lstParsingModule); }
private void Init(string json , Func <bool> getLoopFlag , LogActionGroup logAction , List <IParsingModule> lstParsingModule) { try { LstMonitoringInfo = JsonConvert.DeserializeObject <List <MonitoringInfo> >(json); } catch (Exception ex) { } GetLoopFlag = getLoopFlag != null ? getLoopFlag : (() => { return(false); });; LogAction = logAction; LstParsingModule = lstParsingModule; }