using System; using System.Data; using Microsoft.VisualBasic; namespace ImageCatalog { public class ParametriSetup { private DataSet _ElencoParametri; private string _NomeFileSetup; public ParametriSetup(string FileSetup) { _ElencoParametri = new DataSet(); _NomeFileSetup = FileSetup; if (!string.IsNullOrEmpty(FileSetup)) { CaricaParametriSetup(); } } public ParametriSetup() { _ElencoParametri = new DataSet(); _NomeFileSetup = ""; } public void CaricaParametriSetup() { _ElencoParametri = LeggiXmlDataSet("Setup", _NomeFileSetup, "Nome"); } public void SalvaParametriSetup() { if (System.IO.File.Exists(_NomeFileSetup) == true) { FileSystem.Kill(_NomeFileSetup); } _ElencoParametri.WriteXml(_NomeFileSetup); } public string LeggiParametroString(string NomeParametro) { string Risposta = ""; try { var LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'"); foreach (var LaRiga in LElenco) Risposta = LaRiga["Valore"].ToString(); } catch { Risposta = ""; } return Risposta; } public bool LeggiParametroBoolean(string nomeParametro) { var risposta = ""; try { var lElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + nomeParametro + "'"); foreach (var laRiga in lElenco) 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"] is null) { var TabellaTmp = new DataTable("Setup"); DataRow RigaTmp; DataColumn LaColonna; LaColonna = TabellaTmp.Columns.Add("Nome", Type.GetType("System.String")); LaColonna = TabellaTmp.Columns.Add("Valore", 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 { var LElenco = _ElencoParametri.Tables["Setup"].Select("Nome='" + NomeParametro + "'"); if (LElenco.Length == 0) { DataRow LaRiga; 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 var 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.Tables[NomeTabella]; } private static DataSet LeggiXmlDataSet(string NomeTabella, string NomeFileXml, string NomeColonnaChiave = "") { // * Crea e Legge il dataset dal file xml var 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; } } } }