/// <summary> /// Converts Freeform entity message to Moitor entity message /// </summary> /// <param name="request"></param> /// <returns></returns> public MonitorEntity_MsgTgt CreateTargetEntity(IMonitorEntity parent, IFreeformEntity_MsgTgt request) { using (ILogMethod method = Log.LogMethod(this.DYN_MODULE_NAME, "CreateTargetEntity")) { MonitorEntity_MsgTgt result = null; try { IFreeformEntity child = request; if (child.IsLeafNode) { return(null); } string key = child.GetType().FullName; if (!child.EntityKey.IsEmpty()) { key += "_" + child.EntityKey; } if (_tgtParserMappingsByTypeG2H.ContainsKey(key)) { IMonTgtParser parser = _tgtParserMappingsByTypeG2H[key]; MonTgtParserMappingG2HAttribute mappingAttribute = parser.MappingAttributeG2H; result = parser.CreateEntity(parent, child) as MonitorEntity_MsgTgt; if (result != null) { result.FaultSource = mappingAttribute.FaultSource; if (mappingAttribute.FaultType != -1) { result.FaultType = mappingAttribute.FaultType; } result.ExtraAttribute = mappingAttribute; } } } catch (Exception ex) { method.Exception(ex); } return(result); } }
/// <summary> /// Converts Monitor entity message to Freeform entity message /// </summary> /// <param name="request">The request.</param> /// <returns>Freeform entity message.</returns> public FFMsg_H2G CreateEntity(MonMsg_H2G request) { using (ILogMethod method = Log.LogMethod(this.DYN_MODULE_NAME, "CreateEntity")) { FFMsg_H2G result = null; try { if (request == null || request.Targets.Count == 0) { Log.Info("Unable to create the freeform message (Invalid targets found)."); return(null); } string key = request.FaultSourceTypeKey; foreach (var monTgt in request.Targets) { IMonTgtParser parser = null; MonTgtParserMappingH2GAttribute mappingAttribute = null; //if (_tgtParserMappingsH2G.ContainsKey(key)) //{ // parser = _tgtParserMappingsH2G[key]; // mappingAttribute = parser.MappingAttributeH2G; //} //if (parser == null) //{ key = monTgt.GetType().FullName; if (_tgtParserMappingsByTypeH2G.ContainsKey(key)) { parser = _tgtParserMappingsByTypeH2G[key]; mappingAttribute = parser.MappingAttributeH2G; } //} if (parser != null) { IFreeformEntity_MsgTgt ffTgt = parser.CreateEntity(request, monTgt) as IFreeformEntity_MsgTgt; if (ffTgt != null) { if (result == null) { result = FreeformEntityFactory.CreateEntity <FFMsg_H2G>(FF_FlowDirection.H2G, new FFCreateEntityRequest_H2G() { PollCode = mappingAttribute.PollCode, SessionID = mappingAttribute.SessionID, IPAddress = request.IpAddress, }); result.InstallationNo = request.InstallationNo; } result.Targets.Add(ffTgt); } } } if (result == null) { Log.Info("Unable to create the freeform message"); return(null); } } catch (Exception ex) { method.Exception(ex); } return(result); } }