using System; using System.Data.OracleClient; using CCSTrace.CCS.Object; using NLog; namespace CCSTrace.CCS.Function { public class MergeCase { private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); private EventRecord _lEventrecord; private EventAI.JudgeCase _mJudgeCase; public MergeCase() { } public void Merge(EventRecord mEventrecord, OracleConnection conn, OracleTransaction trx, string traceConnection) { try { _mJudgeCase = new EventAI.JudgeCase(mEventrecord.FdrId, mEventrecord.Fsc, mEventrecord.Ufid, mEventrecord.CaseId, mEventrecord.AcceptDate, conn, trx, traceConnection); _lEventrecord = mEventrecord; _mJudgeCase.AiBegin(); _lEventrecord.ParentId = _mJudgeCase.GetParentCaseId(); _lEventrecord.Fsc = _mJudgeCase.GetInferEquipment().Fsc; _lEventrecord.Ufid = _mJudgeCase.GetInferEquipment().Ufid; } catch (EventAI.TraceLoopException tle) { Logger.Error(tle, tle.Message); throw; } catch (Exception e) { Logger.Error(e.Message); throw; } } public EventAI.Equipment GetOldEquipment() { return _mJudgeCase.GetOldrEquipment(); } } internal class TraceException : Exception { public TraceException() { } } }