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