117 lines
2.7 KiB
C#
117 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
namespace Intel.Management.PSModule
|
|
{
|
|
public class ValueMap
|
|
{
|
|
string _intValue;
|
|
IDictionary<string, string> _mappedValues;
|
|
|
|
|
|
private ValueMap(string intValue, IDictionary<string, string> mappedValues)
|
|
{
|
|
_intValue =intValue;
|
|
_mappedValues = mappedValues;
|
|
}
|
|
|
|
public string Value
|
|
{
|
|
get
|
|
{
|
|
return _intValue;
|
|
}
|
|
set
|
|
{
|
|
_intValue = value;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
string outString;
|
|
|
|
if (_mappedValues.TryGetValue(_intValue, out outString))
|
|
return outString;
|
|
|
|
return _intValue;
|
|
}
|
|
|
|
public string GetStringFromValue(string value)
|
|
{
|
|
string result;
|
|
|
|
if (!_mappedValues.TryGetValue(value, out result))
|
|
{
|
|
result = string.Empty;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
public string GetValueFromString(string stringValue)
|
|
{
|
|
string result = null;
|
|
foreach (KeyValuePair<string,string> pair in _mappedValues)
|
|
{
|
|
if (string.Compare(pair.Value, stringValue, true) == 0)
|
|
{
|
|
result = pair.Key;
|
|
break;
|
|
}
|
|
}
|
|
if (result==null)
|
|
{
|
|
throw new System.Management.Automation.PSArgumentException();
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public string[] Keys
|
|
{
|
|
get
|
|
{
|
|
return _mappedValues.Keys.ToArray();
|
|
}
|
|
}
|
|
|
|
public string[] Values
|
|
{
|
|
get
|
|
{
|
|
return _mappedValues.Values.ToArray();
|
|
}
|
|
}
|
|
|
|
|
|
public static ValueMap CreateFromStringValue(string stringValue, IDictionary<string, string> mappedValues)
|
|
{
|
|
ValueMap result = null;
|
|
foreach (KeyValuePair<string, string> pair in mappedValues)
|
|
{
|
|
if (string.Compare(pair.Value, stringValue, true) == 0)
|
|
{
|
|
result = ValueMap.Create(pair.Key,mappedValues);
|
|
break;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
public static ValueMap Create(string value, IDictionary<string, string> mappedValues)
|
|
{
|
|
ValueMap result = null;
|
|
|
|
result = new ValueMap(value, mappedValues);
|
|
|
|
return result;
|
|
}
|
|
|
|
}
|
|
|
|
}
|