Catalog/ImageCatalogCS/XMLSettings.cs
2016-07-04 16:45:45 +02:00

208 lines
No EOL
5.6 KiB
C#

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.IO;
public class XMLSettings
{
private DataSet _ElencoParametri;
private string _NomeFileSetup;
public XMLSettings(string FileSetup)
{
_ElencoParametri = new DataSet();
_NomeFileSetup = FileSetup;
if (!string.IsNullOrEmpty(FileSetup))
{
CaricaParametriSetup();
}
}
public XMLSettings()
{
_ElencoParametri = new DataSet();
_NomeFileSetup = "";
}
public void CaricaParametriSetup()
{
_ElencoParametri = LeggiXmlDataSet("Setup", _NomeFileSetup, "Nome");
}
public void SalvaParametriSetup()
{
if (System.IO.File.Exists(_NomeFileSetup) == true)
{
File.Delete(_NomeFileSetup);
}
_ElencoParametri.WriteXml(_NomeFileSetup);
}
public Dictionary<string, object> getParametriDict()
{
CaricaParametriSetup();
Dictionary<string, object> dictParam = new Dictionary<string, object>(StringComparer.OrdinalIgnoreCase);
//DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
//DataTable table = _ElencoParametri.Tables["Setup"];
foreach (DataRow row in _ElencoParametri.Tables["Setup"].Rows)
{
dictParam.Add(row["Nome"].ToString(), row["Valore"]);
}
return dictParam;
}
public string LeggiParametroString(string NomeParametro)
{
string Risposta = "";
try
{
DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
DataRow LaRiga = null;
foreach (DataRow LaRiga_loopVariable in LElenco)
{
LaRiga = LaRiga_loopVariable;
Risposta = LaRiga["Valore"].ToString();
}
}
catch
{
Risposta = "";
}
return Risposta;
}
public bool LeggiParametroBoolean(string NomeParametro)
{
string Risposta = "";
try
{
DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
DataRow LaRiga = null;
foreach (DataRow LaRiga_loopVariable in LElenco)
{
LaRiga = LaRiga_loopVariable;
Risposta = LaRiga["Valore"].ToString();
}
}
catch
{
Risposta = "";
}
switch (Risposta.ToUpper())
{
case "TRUE":
case "OK":
case "SI":
case "1":
case "YES":
case "VERO":
return true;
default:
return false;
}
}
public void AggiornaParametro(string NomeParametro, object ValoreParametro)
{
try
{
if (_ElencoParametri.Tables["Setup"] == null)
{
DataTable TabellaTmp = new DataTable("Setup");
DataRow RigaTmp = null;
DataColumn LaColonna = null;
LaColonna = TabellaTmp.Columns.Add("Nome", System.Type.GetType("System.String"));
LaColonna = TabellaTmp.Columns.Add("Valore", System.Type.GetType("System.String"));
//* Aggiunge alla tabella tutte le righe
RigaTmp = TabellaTmp.NewRow();
RigaTmp["Nome"] = NomeParametro;
RigaTmp["Valore"] = ValoreParametro;
TabellaTmp.Rows.Add(RigaTmp);
_ElencoParametri.Tables.Add(TabellaTmp);
}
else
{
DataRow[] LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'");
if (LElenco.Length == 0)
{
DataRow LaRiga = null;
LaRiga = _ElencoParametri.Tables["Setup"].NewRow();
LaRiga["Nome"] = NomeParametro;
LaRiga["Valore"] = ValoreParametro;
_ElencoParametri.Tables["Setup"].Rows.Add(LaRiga);
}
else
{
LElenco[0]["Valore"] = ValoreParametro;
}
}
}
catch
{
}
}
private DataTable LeggiXmlDataTable(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
{
//* Crea e Legge il dataset dal file xml
System.Data.DataSet DataSetXml = new System.Data.DataSet();
DataSetXml.ReadXml(NomeFileXml);
//* Aggiunge il campo chiave
if (!string.IsNullOrEmpty(NomeColonnaChiave))
{
DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
}
//* Restituisce la risposta
return DataSetXml.Tables[NomeTabella];
}
private static DataSet LeggiXmlDataSet(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "")
{
//* Crea e Legge il dataset dal file xml
DataSet DataSetXml = new DataSet();
DataSetXml.ReadXml(NomeFileXml);
//* Aggiunge il campo chiave
if (!string.IsNullOrEmpty(NomeColonnaChiave))
{
DataSetXml.Tables[NomeTabella].Constraints.Add(NomeColonnaChiave, DataSetXml.Tables[NomeTabella].Columns[NomeColonnaChiave], true);
}
//* Restituisce la risposta
return DataSetXml;
}
public string NomeFileSetup
{
get { return _NomeFileSetup; }
set { _NomeFileSetup = value; }
}
}