internal override void CustomizedAnalyze(string Line) { // Preparation Start //DataRow dicAnalysisResult = dtAnalysisResultFormat.NewRow(); Dictionary <string, string> dicAnalysisResult = new Dictionary <string, string>(); string[] LineSplits = Line.Split(Delimiters, StringSplitOptions.RemoveEmptyEntries); Def.LineSplits = LineSplits; // Preparation End // Generate Dataline Analysis Result Start // 1. Prepare PresentValue string ValueType = Def.GetValueType("TG"); string ValueString = Def.GetValueString("TG"); GenericValue PV = new GenericValue(ValueType, ValueString); // 2. Prepare IJudge string sAlarmHigh = "230"; // TODO: Get SpecValue Dynamically GenericValue AlarmHigh = new GenericValue(ValueType, sAlarmHigh); AbsMaxAlarm absMaxAlarm = new AbsMaxAlarm(AlarmHigh); // TODO: Create by Factory to decouple Modules // 3. Do IJudge.Judge(PresentValue) bool JudgeResult = absMaxAlarm.Judge(PV); if (JudgeResult) { //drAnalysisResult["STAID"] = Def.GetValueString("STAID"); //drAnalysisResult["SOUID"] = Def.GetValueString("SOUID"); //drAnalysisResult["DATE"] = Def.GetValueString("DATE"); //drAnalysisResult["TG"] = Def.GetValueString("TG"); //drAnalysisResult["Q_TG"] = Def.GetValueString("Q_TG"); dicAnalysisResult.Add("STAID", Def.GetValueString("STAID")); dicAnalysisResult.Add("SOUID", Def.GetValueString("SOUID")); dicAnalysisResult.Add("DATE", Def.GetValueString("DATE")); dicAnalysisResult.Add("TG", Def.GetValueString("TG")); dicAnalysisResult.Add("Q_TG", Def.GetValueString("Q_TG")); } // Generate Dataline Analysis Result End // Store Dataline Analysis Result Start if (JudgeResult) { StoreAnalysisResult(dicAnalysisResult); } // Store Dataline Analysis Result End }