146 lines
4.0 KiB
C#
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
|
|
}
|
|
}
|