using System; using System.Configuration; using System.Web; using System.IO; namespace ETS_Data { public class utils { protected AppSettingsReader configAppSetReader; #region area table adapters public DS_AnagraficaTableAdapters.UtentiTableAdapter taUtenti; public DS_utilsTableAdapters.v_selFontiTableAdapter taSelFonti; public DS_utilsTableAdapters.v_selCommesseTableAdapter taSelCommesse; public DS_utilsTableAdapters.v_selFasiTableAdapter taSelFasi; public DS_utilsTableAdapters.v_selAutoriTableAdapter taSelAutori; public DS_utilsTableAdapters.v_tbDocs_selFontiTableAdapter taTDSelFonti; public DS_utilsTableAdapters.v_tbDocs_selCommesseTableAdapter taTDSelCommesse; public DS_utilsTableAdapters.v_tbDocs_selFasiTableAdapter taTDSelFasi; public DS_utilsTableAdapters.v_tbDocs_selOggettoTableAdapter taTDSelOggetti; public DS_WebScipTableAdapters.tbDocumentiTableAdapter taDoc; /// /// init dei table adapters /// protected void initTA() { taUtenti = new DS_AnagraficaTableAdapters.UtentiTableAdapter(); taSelFonti = new DS_utilsTableAdapters.v_selFontiTableAdapter(); taSelCommesse = new DS_utilsTableAdapters.v_selCommesseTableAdapter(); taSelFasi = new DS_utilsTableAdapters.v_selFasiTableAdapter(); taSelAutori = new DS_utilsTableAdapters.v_selAutoriTableAdapter(); taTDSelFonti = new DS_utilsTableAdapters.v_tbDocs_selFontiTableAdapter(); taTDSelCommesse = new DS_utilsTableAdapters.v_tbDocs_selCommesseTableAdapter(); taTDSelFasi = new DS_utilsTableAdapters.v_tbDocs_selFasiTableAdapter(); taTDSelOggetti = new DS_utilsTableAdapters.v_tbDocs_selOggettoTableAdapter(); taDoc = new DS_WebScipTableAdapters.tbDocumentiTableAdapter(); } /// /// effettua setup dei connection strings da web.config delal singola applicazione /// protected virtual void setupConnectionStringBase() { string connStringETS_WS = (string)configAppSetReader.GetValue("ETS_WSConnectionString", typeof(string)); string connStringETS_WAnagrafica = (string)configAppSetReader.GetValue("ETS_AnagraficaConnectionString", typeof(string)); // connections del db taUtenti.Connection.ConnectionString = connStringETS_WAnagrafica; taSelFonti.Connection.ConnectionString = connStringETS_WS; taSelCommesse.Connection.ConnectionString = connStringETS_WS; taSelFasi.Connection.ConnectionString = connStringETS_WS; taSelAutori.Connection.ConnectionString = connStringETS_WS; taTDSelFonti.Connection.ConnectionString = connStringETS_WS; taTDSelCommesse.Connection.ConnectionString = connStringETS_WS; taTDSelFasi.Connection.ConnectionString = connStringETS_WS; taTDSelOggetti.Connection.ConnectionString = connStringETS_WS; taDoc.Connection.ConnectionString = connStringETS_WS; } #endregion #region Inizializzazione protected utils() { configAppSetReader = new AppSettingsReader(); initTA(); setupConnectionStringBase(); } /// /// oggetto static per fare chiamate sul magazzino /// public static utils obj = new utils(); #endregion #region area user /// /// utente correntemente connesso (Formato dominio\username) /// public string currUserAD { get { string answ = ""; try { if (HttpContext.Current.User.Identity.IsAuthenticated) { answ = HttpContext.Current.User.Identity.Name; } } catch { } return answ; } } /// /// utente correntemente connesso per utilizzo FileSystem (Formato dominio.username) /// public string currUser_FS { get { return currUserAD.Replace(@"\", "."); } } /// /// utente correntemente connesso (Formato Cognome, nome) /// public string currUserCognomeNome { get { string answ = "-"; try { // controllo in sessione... if (isInSessionObject("currUserCognomeNome")) { answ = StringSessionObj("currUserCognomeNome"); } else { // cerco user da elenco... DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)taUtenti.getByKey(currUserAD)[0]; answ = string.Format("{0} {1}", riga.Cognome.ToUpper(), riga.Nome); setSessionVal("currUserCognomeNome", answ); } } catch { } return answ; } } #endregion #region area Session /// /// carica dalla sessione un dato di tipo object generico /// /// /// public object objSessionObj(string nomeVar) { if (HttpContext.Current.Session[nomeVar] != null) { return HttpContext.Current.Session[nomeVar]; } else { return ""; } } /// /// carica dalla sessione un dato di tipo boolean (se vuoto false) /// /// /// public bool BoolSessionObj(string nomeVar) { if (HttpContext.Current.Session[nomeVar] != null) { return (bool)HttpContext.Current.Session[nomeVar]; } else { return false; } } /// /// carica dalla sessione un dato di tipo string /// /// /// public string StringSessionObj(string nomeVar) { if (HttpContext.Current.Session[nomeVar] != null) { return HttpContext.Current.Session[nomeVar].ToString(); } else { return ""; } } /// /// carica dalla sessione un dato di tipo long /// /// /// public long LongSessionObj(string nomeVar) { if (HttpContext.Current.Session[nomeVar] != null) { return (long)Convert.ToInt32(HttpContext.Current.Session[nomeVar].ToString()); } else { return 0; } } /// /// carica dalla sessione un dato di tipo int /// /// /// public int IntSessionObj(string nomeVar) { if (HttpContext.Current.Session[nomeVar] != null) { return (int)Convert.ToInt32(HttpContext.Current.Session[nomeVar].ToString()); } else { return -1; } } /// /// inserisce in session un valore /// /// /// public bool setSessionVal(string nome, object valore) { bool _done = false; try { HttpContext.Current.Session[nome] = valore; _done = true; } catch { } return _done; } /// /// svuota una variabile dalla session /// /// public bool emptySessionVal(string nome) { bool _done = false; try { HttpContext.Current.Session.Remove(nome); _done = true; } catch { } return _done; } /// /// restituisce true se è presente in session l'oggetto richiesto /// /// /// public bool isInSessionObject(string nomeVar) { bool answ = false; bool stringAnsw = false; // cerco di fare cast a stringa... try { stringAnsw = (string)HttpContext.Current.Session[nomeVar].ToString() != ""; } catch { } // infine condizione doppia... try { answ = (HttpContext.Current.Session[nomeVar] != null && stringAnsw); } catch { } return answ; } #endregion #region gestione file config /// /// legge dalla config un valore bool /// /// /// public bool confReadBool(string nomeParam) { bool answ = false; try { answ = (bool)configAppSetReader.GetValue(nomeParam, typeof(bool)); } catch { } return answ; } /// /// legge dalla config un valore string /// /// /// public string confReadString(string nomeParam) { string answ = ""; try { answ = (string)configAppSetReader.GetValue(nomeParam, typeof(string)); } catch { } return answ; } /// /// legge dalla config un valore int /// /// /// public int confReadInt(string nomeParam) { int answ = -1; try { answ = (int)configAppSetReader.GetValue(nomeParam, typeof(int)); } catch { } return answ; } #endregion #region area vaire /// /// ripulisce la stringa da eventuali caratteri non ammessi quali /// [ .,;\/] /// /// /// public static string cleanPathName(string originalName) { return originalName.Replace(" ", "_").Replace(".", "").Replace(",", "").Replace(";", "").Replace(":", "").Replace("/", "_").Replace(@"\", "_"); } #endregion } }