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