internal static IRoutingResponse GetIRoutingResponse(Workshare.PolicyContent.Routing routingIn) { if ( null == routingIn ) return null; RoutingResponse routingOut = new RoutingResponse(); routingOut.ActionSetId = string.Empty; //TODO: routingOut.RoutingId = string.Empty; //TODO: routingOut.Description = routingIn.Description; routingOut.Name = routingIn.Name; routingOut.Rating = routingIn.Rating; routingOut.Properties = new Dictionary<string, string>(); if ( routingIn.Properties != null) { foreach (CustomProperty property in routingIn.Properties) { routingOut.Properties[property.Name] = property.Value; } } return routingOut; }
public RoutingResponse DeepCopy() { RoutingResponse clone = new RoutingResponse(); clone.m_sRoutingId = m_sRoutingId; clone.m_sName = m_sName; clone.m_sDescription = m_sDescription; clone.m_sRating = m_sRating; clone.m_ActionSetId = m_ActionSetId; clone.m_properties = new Dictionary<string, string>(); foreach(KeyValuePair<string, string> keyPair in m_properties) { clone.m_properties.Add(keyPair.Key, keyPair.Value); } return clone; }
private object RoutingPathHandler(IBRERuleContext aBrc, Hashtable aMap, object aStep) { if (!aMap.ContainsKey("ActionSetId")) return null; string name = GetName(aMap); OnPolicyProgressEvent(new PolicyProgressEventArgs(m_CurrentFileInfo.File, EventType.routing, name)); RoutingResponse routingResponse = new RoutingResponse(); routingResponse.Name = name; if (aMap.ContainsKey("Rating")) routingResponse.Rating = aMap["Rating"] as string; if (aMap.ContainsKey("ActionSetId")) routingResponse.ActionSetId = aMap["ActionSetId"] as string; if (aMap.Contains("Description")) routingResponse.Description = aMap["Description"] as string; routingResponse.Properties = new Dictionary<string, string>(); foreach (DictionaryEntry de in aMap) { if ((string.Compare(de.Key as string, "Type", true, CultureInfo.InvariantCulture) == 0) || (string.Compare(de.Key as string, "Name", true, CultureInfo.InvariantCulture) == 0) || (string.Compare(de.Key as string, "ActionSetId", true, CultureInfo.InvariantCulture) == 0) || (string.Compare(de.Key as string, "Description", true, CultureInfo.InvariantCulture) == 0) || (string.Compare(de.Key as string, "Rating", true, CultureInfo.InvariantCulture) == 0)) continue; if (string.Compare(de.Key as string, "Properties", true, CultureInfo.InvariantCulture) == 0) { DictionaryEntry[] props = de.Value as DictionaryEntry[]; foreach (DictionaryEntry dictprop in props) { routingResponse.Properties.Add(dictprop.Key as string, dictprop.Value as string); } continue; } routingResponse.Properties.Add(de.Key as string, de.Value as string); } m_CurrentPolicyInfo.Routing = routingResponse; return null; }