92 lines
2.4 KiB
C#
92 lines
2.4 KiB
C#
namespace EgwCoreLib.Lux.Core
|
|
{
|
|
/// <summary>
|
|
/// Generico dizionario parametri con funzione ricerca valore (SE presente)
|
|
/// </summary>
|
|
public class ParamDict
|
|
{
|
|
#region Public Constructors
|
|
|
|
/// <summary>
|
|
/// init classe dal valore serializzato del dizionario
|
|
/// </summary>
|
|
/// <param name="rawVal"></param>
|
|
public ParamDict(string rawVal)
|
|
{
|
|
DictVals = JsonConvert.DeserializeObject<Dictionary<string, string>>(rawVal) ?? new Dictionary<string, string>();
|
|
}
|
|
|
|
/// <summary>
|
|
/// init classe da dizionario
|
|
/// </summary>
|
|
/// <param name="newDict"></param>
|
|
public ParamDict(Dictionary<string, string> newDict)
|
|
{
|
|
DictVals = newDict;
|
|
}
|
|
|
|
#endregion Public Constructors
|
|
|
|
#region Public Properties
|
|
|
|
/// <summary>
|
|
/// Versione serializzata del dizionario
|
|
/// </summary>
|
|
public string Serialized
|
|
{
|
|
get => JsonConvert.SerializeObject(DictVals);
|
|
}
|
|
|
|
#endregion Public Properties
|
|
|
|
#region Public Methods
|
|
|
|
/// <summary>
|
|
/// Ricerca (se disponibile) il valore della chiave richiesta
|
|
/// </summary>
|
|
/// <param name="reqKey"></param>
|
|
/// <returns></returns>
|
|
public string GetVal(string reqKey)
|
|
{
|
|
string answ = "";
|
|
if (DictVals.ContainsKey(reqKey))
|
|
{
|
|
answ = DictVals[reqKey];
|
|
}
|
|
return answ;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Imposta valore (aggiungendo se mancasse)
|
|
/// </summary>
|
|
/// <param name="Key"></param>
|
|
/// <param name="Val"></param>
|
|
public void SetVal(string Key, string Val)
|
|
{
|
|
if (DictVals.ContainsKey(Key))
|
|
{
|
|
DictVals[Key] = Val;
|
|
}
|
|
else
|
|
{
|
|
DictVals.Add(Key, Val);
|
|
}
|
|
}
|
|
|
|
#endregion Public Methods
|
|
|
|
public Dictionary<string, string> DictReadOnly
|
|
{
|
|
get => DictVals;
|
|
}
|
|
|
|
#region Private Properties
|
|
|
|
/// <summary>
|
|
/// Dizionario interno valori
|
|
/// </summary>
|
|
private Dictionary<string, string> DictVals { get; set; } = new Dictionary<string, string>();
|
|
|
|
#endregion Private Properties
|
|
}
|
|
} |