예제 #1
0
		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;
		}
예제 #2
0
        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;
        }
예제 #3
0
		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;
		}