Files
SteamWare/SteamWareLib/confrontoValori.cs
T
2018-03-17 09:47:02 +01:00

146 lines
4.0 KiB
C#

using System.Collections.Generic;
namespace SteamWare
{
/// <summary>
/// classe per effettuare confronto tra valori disomogeneri per tipo e costruire diff testuali
/// </summary>
public class confrontoValori
{
#region area protected
/// <summary>
/// valore originale
/// </summary>
protected string _valOld;
/// <summary>
/// nuovo valore
/// </summary>
protected string _valNew;
/// <summary>
/// dictionary dei parametri vecchi
/// </summary>
protected Dictionary<string, string> _paramOld;
/// <summary>
/// dictionary dei parametri nuovi
/// </summary>
protected Dictionary<string, string> _paramNew;
/// <summary>
/// inizializzazione classe
/// </summary>
protected confrontoValori()
{
}
#endregion
#region area public
/// <summary>
/// stringa diff dei valori originali modificati
/// </summary>
public string valOld
{
get
{
return _valOld;
}
set
{
_valOld = value;
}
}
/// <summary>
/// stringa diff dei valori nuovi modificati
/// </summary>
public string valNew
{
get
{
return _valNew;
}
set
{
_valNew = value;
}
}
/// <summary>
/// valorizza i diff dei valori old e new
/// </summary>
public void doDiff()
{
// eseguo diff, andando a iterare nel dictionary dei valori old e cercando nel new, se diverso inserisco traducento...
foreach (string colonna in paramOld.Keys)
{
if (paramNew.ContainsKey(colonna))
{
if (paramNew[colonna] != paramOld[colonna])
{
// salvo la modifica...
valOld += string.Format("{0}: {1}<br>", colonna, paramOld[colonna]);
valNew += string.Format("{0}: {1}<br>", colonna, paramNew[colonna]);
}
}
}
// se è + lunga di 4 contiene qualcosa, tolgo le ultime 4 che sono "<br>"
if (valOld.Length > 4)
{
valOld = valOld.Substring(0, valOld.Length - 4);
valNew = valNew.Substring(0, valNew.Length - 4);
}
}
/// <summary>
/// calcola solo il vettore dei valori old (x delete)
/// </summary>
public void calcOldVal()
{
foreach (string colonna in paramOld.Keys)
{
// salvo la modifica...
valOld += string.Format("{0}: {1}<br>", colonna, paramOld[colonna]);
}
// se è + lunga di 4 contiene qualcosa, tolgo le ultime 4 che sono "<br>"
if (valOld.Length > 4)
{
valOld = valOld.Substring(0, valOld.Length - 4);
}
}
/// <summary>
/// dictionary dei parametri old
/// </summary>
public Dictionary<string, string> paramOld
{
get
{
return _paramOld;
}
set
{
_valOld = "";
_paramOld = value;
}
}
/// <summary>
/// dictionary dei parametri new
/// </summary>
public Dictionary<string, string> paramNew
{
get
{
return _paramNew;
}
set
{
_valNew = "";
_paramNew = value;
}
}
/// <summary>
/// oggetto statico per il confronto valori
/// </summary>
public static confrontoValori obj = new confrontoValori();
#endregion
}
}