/// <summary> /// Constructor. /// </summary> /// <param name="vrpAttributeName">VRP attribute name.</param> /// <param name="routingAttributeName">Routing attribute name.</param> /// <param name="unit">Network attribute unit.</param> /// <param name="usageType">Network attribute usage type.</param> /// <param name="parameters">Collection of network attribute parameters.</param> public NetworkAttribute(string vrpAttributeName, string routingAttributeName, NetworkAttributeUnits unit, NetworkAttributeUsageType usageType, ICollection <NetworkAttributeParameter> parameters, NetworkAttributeParameter usageParameter) { _name = vrpAttributeName; this.RoutingName = routingAttributeName; _unit = unit; _usageType = usageType; _parameters = parameters; _restrictionUsageParameter = usageParameter; }
/// <summary> /// Get restriction usage parameter. /// </summary> /// <param name="name">Name of the restriction usage parameter. // If null - default name will be used.</param> /// <param name="attributeParameters">Collection of attribute parameters.</param> /// <param name="usageType">Attribute usage type.</param> /// <returns></returns> private NetworkAttributeParameter _GetRestrictionUsageParameter(string name, IEnumerable <NAAttributeParameterValue> attributeParameters, NetworkAttributeUsageType usageType) { if (usageType == NetworkAttributeUsageType.Restriction) { var restrictionUsageParameterName = name ?? RESTRICTION_USAGE_PARAMETER_DEFAULT_NAME; var parameter = attributeParameters.FirstOrDefault (x => x.ParameterName == restrictionUsageParameterName); if (parameter != null) { return(_CreateNetworkAttributeParameter(parameter)); } } return(null); }
/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Constructor. /// </summary> /// <param name="vrpAttributeName">VRP attribute name.</param> /// <param name="routingAttributeName">Routing attribute name.</param> /// <param name="unit">Network attribute unit.</param> /// <param name="usageType">Network attribute usage type.</param> /// <param name="parameters">Collection of network attribute parameters.</param> public NetworkAttribute(string vrpAttributeName, string routingAttributeName, NetworkAttributeUnits unit, NetworkAttributeUsageType usageType, ICollection <NetworkAttributeParameter> parameters) : this(vrpAttributeName, routingAttributeName, unit, usageType, parameters, null) { }
/// <summary> /// Get restriction usage parameter. /// </summary> /// <param name="name">Name of the restriction usage parameter. // If null - default name will be used.</param> /// <param name="attributeParameters">Collection of attribute parameters.</param> /// <param name="usageType">Attribute usage type.</param> /// <returns></returns> private NetworkAttributeParameter _GetRestrictionUsageParameter(string name, IEnumerable<NAAttributeParameterValue> attributeParameters, NetworkAttributeUsageType usageType) { if (usageType == NetworkAttributeUsageType.Restriction) { var restrictionUsageParameterName = name ?? RESTRICTION_USAGE_PARAMETER_DEFAULT_NAME; var parameter = attributeParameters.FirstOrDefault (x => x.ParameterName == restrictionUsageParameterName); if (parameter != null) return _CreateNetworkAttributeParameter(parameter); } return null; }
/// <summary> /// Constructor. /// </summary> /// <param name="vrpAttributeName">VRP attribute name.</param> /// <param name="routingAttributeName">Routing attribute name.</param> /// <param name="unit">Network attribute unit.</param> /// <param name="usageType">Network attribute usage type.</param> /// <param name="parameters">Collection of network attribute parameters.</param> public NetworkAttribute(string vrpAttributeName, string routingAttributeName, NetworkAttributeUnits unit, NetworkAttributeUsageType usageType, ICollection<NetworkAttributeParameter> parameters, NetworkAttributeParameter usageParameter) { _name = vrpAttributeName; this.RoutingName = routingAttributeName; _unit = unit; _usageType = usageType; _parameters = parameters; _restrictionUsageParameter = usageParameter; }
/////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////// /// <summary> /// Constructor. /// </summary> /// <param name="vrpAttributeName">VRP attribute name.</param> /// <param name="routingAttributeName">Routing attribute name.</param> /// <param name="unit">Network attribute unit.</param> /// <param name="usageType">Network attribute usage type.</param> /// <param name="parameters">Collection of network attribute parameters.</param> public NetworkAttribute(string vrpAttributeName, string routingAttributeName, NetworkAttributeUnits unit, NetworkAttributeUsageType usageType, ICollection<NetworkAttributeParameter> parameters) : this(vrpAttributeName, routingAttributeName, unit, usageType, parameters, null) { }