using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Intel.Management.PSModule { public class ValueMap { string _intValue; IDictionary _mappedValues; private ValueMap(string intValue, IDictionary 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 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 mappedValues) { ValueMap result = null; foreach (KeyValuePair 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 mappedValues) { ValueMap result = null; result = new ValueMap(value, mappedValues); return result; } } }