diff --git a/project/Equa_Auth/WebUserControls/mod_login.ascx.cs b/project/Equa_Auth/WebUserControls/mod_login.ascx.cs
new file mode 100644
index 0000000..d954a57
--- /dev/null
+++ b/project/Equa_Auth/WebUserControls/mod_login.ascx.cs
@@ -0,0 +1,246 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using SteamWare;
+
+namespace Equa_Auth.WebUserControls
+{
+ ///
+ /// classe gestione login e forzatura login
+ ///
+ public partial class mod_login : ApplicationUserControl
+ {
+ #region area protected/private
+
+ #region area proprietà
+
+ private SteamWare.loginMode _isForceUser = SteamWare.loginMode.normale;
+
+ #endregion
+
+ #region area metodi
+
+ ///
+ /// imposta la modalità di login tra normale / forceUser
+ ///
+ private void setLoginMode()
+ {
+ if (_isForceUser == SteamWare.loginMode.forceUser)
+ {
+ pnlForceUser.Visible = true;
+ }
+ else
+ {
+ pnlForceUser.Visible = false;
+ }
+ }
+
+ protected override void traduciObj()
+ {
+ lblPwd.Text = user_std.UtSn.Traduci("lblPwd");
+ lblUser.Text = user_std.UtSn.Traduci("lblUser");
+ lblDominio.Text = user_std.UtSn.Traduci("lblDominio");
+ lblTitolo.Text = user_std.UtSn.Traduci("ForzaUtente");
+ btnOk.Text = user_std.UtSn.Traduci("btnCommit");
+ }
+
+ ///
+ /// prova a verificare se l'utente sia ok x AD credentials
+ ///
+ private void AdLogin()
+ {
+ lblMessage.Text = "User not authenticated...";
+ if (Page.User.Identity.IsAuthenticated)
+ {
+ //recupera user windows se c'è...
+ string ad_name = Page.User.Identity.Name;
+ string delimStr = "\\";
+ char[] delimiter = delimStr.ToCharArray();
+ string[] dom_user = ad_name.Split(delimiter, 2);
+ // salvo cookie!
+ string DeviceName = "";
+ string IPv4 = "";
+ string userAgent = "";
+ try
+ {
+ userAgent = Request.UserAgent;
+ DeviceName = Request.UserHostName;
+ IPv4 = Request.UserHostName;
+ }
+ catch
+ { }
+ if (memLayer.ML.confReadBool("enableCookie"))
+ {
+ // elimino eventuali altri cookie x dominio/user/devName
+ DataWrap.DW.taAnagDev.delByDominioUserDeviceName(dom_user[0], dom_user[1], DeviceName);
+ // creo nuovo cookie
+ authProxy.createNewCookie(dom_user[0], dom_user[1], DeviceName, userAgent, IPv4, Page.Request.QueryString["AuthCookie"].ToString(), DateTime.Now.AddDays(memLayer.ML.confReadInt("cookieDayExp")));
+ }
+ // loggo
+ SteamWare.logger.lg.scriviLog(string.Format("L'utente {0}/{1} ha effettuato il login correttamente", dom_user[0], dom_user[1]), SteamWare.tipoLog.INFO);
+ if (Login_ok != null)
+ {
+ Login_ok(this, new EventArgs());
+ }
+ }
+ else
+ {
+ lblMessage.Text = user_std.UtSn.Traduci("AccessFail") + user_std.UtSn.Traduci("UsrNotAuth");
+ SteamWare.logger.lg.scriviLog(String.Format("Accesso fallito, utente non autenticato"), SteamWare.tipoLog.WARNING);
+ if (Login_Error != null)
+ {
+ Login_Error(this, new EventArgs());
+ }
+ }
+ }
+
+ ///
+ /// effettua verifiche e se concesso permette di forzare l'accesso utente
+ ///
+ private void ForceUserIdentity()
+ {
+ if (Page.User.Identity.IsAuthenticated)
+ {
+ bool _allowForceUser = false;
+ try
+ {
+ _allowForceUser = SteamWare.memLayer.ML.confReadBool("_allowForceUser");
+ }
+ catch
+ {
+ _allowForceUser = false;
+ }
+ if (_allowForceUser)
+ {
+ if (authKey.Text == "forzaInter") // verifica passphrase...
+ {
+ user_std _utente = new user_std();
+ user_std.UtSn.isForcedUser = true;
+ bool fatto = _utente.startUpUtente(dominio.Text, user.Text);
+ if (fatto)
+ {
+ string _rigaLog = String.Format("User {0} has forced user identity ok: logged as \t {1}\\{2}", Page.User.Identity.Name, dominio.Text, user.Text);
+ SteamWare.logger.lg.scriviLog(_rigaLog, SteamWare.tipoLog.INFO);
+ if (Login_ok != null)
+ {
+ Login_ok(this, new EventArgs());
+ }
+ }
+ }
+ else
+ {
+ lblMessage.Text = String.Format("{0} key not allowed for operation!!! operation logged!!!", user_std.UtSn.Traduci("AccessFail"));
+ mandaEmail(_fromEmail, _adminEmail, "Attenzione: tentativo di accesso non autorizzato!", String.Format("Tentativo di forcing user non autorizzato! L'utente {0} ha tentato di accedere a {1} forzando l'utente ma la sua key autorizzativa e' sbagliata...", Page.User.Identity.Name, user_std.UtSn.Traduci(SteamWare.memLayer.ML.confReadString("defaultApp"))));
+ string _rigaLog = String.Format("User {0}\t tried to force user - wrong password - he tried to log as \t {1}\\{2}", Page.User.Identity.Name, dominio.Text, user.Text);
+ SteamWare.logger.lg.scriviLog(_rigaLog, SteamWare.tipoLog.WARNING);
+ if (Login_Error != null)
+ {
+ Login_Error(this, new EventArgs());
+ }
+ }
+ }
+ else
+ {
+ mandaEmail(_fromEmail, _adminEmail, "Attenzione: tentativo di accesso non autorizzato!", String.Format("Tentativo di forcing user non autorizzato! L'utente {0} ha tentato di accedere a {1} forzando l'utente ma la funzione e' disabilitata...", Page.User.Identity.Name, user_std.UtSn.Traduci(SteamWare.memLayer.ML.confReadString("defaultApp"))));
+ string _rigaLog = String.Format("User {0}\t tried to force user - access disabled - he tried to log as \t {1}\\{2}", Page.User.Identity.Name, dominio.Text, user.Text);
+ SteamWare.logger.lg.scriviLog(_rigaLog, SteamWare.tipoLog.WARNING);
+ if (Login_Error != null)
+ {
+ Login_Error(this, new EventArgs());
+ }
+ }
+ }
+ else
+ {
+ lblMessage.Text = string.Format("{0} user not authenticated! ", user_std.UtSn.Traduci("AccessFail"));
+ if (Login_Error != null)
+ {
+ Login_Error(this, new EventArgs());
+ }
+ string _rigaLog = String.Format("\t Someone tried to force user - real user: \t - not autenticated - \t tried to log as \t {0}\\{1}", dominio.Text, user.Text);
+ SteamWare.logger.lg.scriviLog(_rigaLog, SteamWare.tipoLog.WARNING);
+ }
+ }
+
+ protected void btnOk_Click(object sender, EventArgs e)
+ {
+ ForceUserIdentity();
+ }
+
+ #endregion
+
+ #endregion
+
+ #region area public
+
+ #region eventi pubblici esposti
+
+ public event EventHandler Login_ok;
+ public event EventHandler Login_Error;
+
+ #endregion
+
+ #region area proprietà
+
+ ///
+ /// modalità funzionamento controllo tra normale (ActiveDirectory e user auth di default) e forceUser
+ ///
+ public SteamWare.loginMode modoLogin
+ {
+ get
+ {
+ return _isForceUser;
+ }
+ set
+ {
+ _isForceUser = value;
+ }
+ }
+
+ #endregion
+
+
+ ///
+ /// avvio pagina
+ ///
+ protected override void Page_Load(object sender, EventArgs e)
+ {
+ //carico da web.config i default values
+ loadDefaultsWebConfig();
+ // procedo...
+ setLoginMode();
+ Session.RemoveAll();
+ if (_isForceUser == SteamWare.loginMode.normale)
+ {
+ bool cookieLogin = false;
+ if (memLayer.ML.confReadBool("enableCookie"))
+ {
+ //string cookieName = memLayer.ML.StringSessionObj("AuthCookie");
+ //if (cookieName == "")
+ //{
+ // cookieName = memLayer.ML.confReadString("AuthCookie");
+ //}
+ string cookieName = Page.Request.QueryString["AuthCookie"].ToString();
+ cookieLogin = authProxy.tryAuthByCookie(cookieName);
+ }
+ if (!cookieLogin)
+ {
+ AdLogin();
+ }
+ else
+ {
+ if (Login_ok != null)
+ {
+ Login_ok(this, new EventArgs());
+ }
+ }
+ }
+ }
+
+ #endregion
+
+ }
+}
\ No newline at end of file
diff --git a/project/Equa_Auth/WebUserControls/mod_login.ascx.designer.cs b/project/Equa_Auth/WebUserControls/mod_login.ascx.designer.cs
new file mode 100644
index 0000000..19f7d9a
--- /dev/null
+++ b/project/Equa_Auth/WebUserControls/mod_login.ascx.designer.cs
@@ -0,0 +1,114 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Equa_Auth.WebUserControls {
+
+
+ public partial class mod_login {
+
+ ///
+ /// pnlForceUser control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Panel pnlForceUser;
+
+ ///
+ /// lblTitolo control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblTitolo;
+
+ ///
+ /// lblPwd control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblPwd;
+
+ ///
+ /// authKey control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox authKey;
+
+ ///
+ /// lblDominio control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblDominio;
+
+ ///
+ /// dominio control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox dominio;
+
+ ///
+ /// lblUser control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblUser;
+
+ ///
+ /// user control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.TextBox user;
+
+ ///
+ /// btnOk control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Button btnOk;
+
+ ///
+ /// lblMessage control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.Label lblMessage;
+
+ ///
+ /// HypLinkSSO control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.WebControls.HyperLink HypLinkSSO;
+ }
+}
diff --git a/project/Equa_Auth/bin/Equa_Auth.dll b/project/Equa_Auth/bin/Equa_Auth.dll
new file mode 100644
index 0000000..b070441
Binary files /dev/null and b/project/Equa_Auth/bin/Equa_Auth.dll differ
diff --git a/project/Equa_Auth/bin/Flesk.ViewState.dll b/project/Equa_Auth/bin/Flesk.ViewState.dll
new file mode 100644
index 0000000..862a6ac
Binary files /dev/null and b/project/Equa_Auth/bin/Flesk.ViewState.dll differ
diff --git a/project/Equa_Auth/bin/ICSharpCode.SharpZipLib.dll b/project/Equa_Auth/bin/ICSharpCode.SharpZipLib.dll
new file mode 100644
index 0000000..fe643eb
Binary files /dev/null and b/project/Equa_Auth/bin/ICSharpCode.SharpZipLib.dll differ
diff --git a/project/Equa_Auth/bin/SteamWare.XML b/project/Equa_Auth/bin/SteamWare.XML
new file mode 100644
index 0000000..adebac5
--- /dev/null
+++ b/project/Equa_Auth/bin/SteamWare.XML
@@ -0,0 +1,3690 @@
+
+
+
+ SteamWare
+
+
+
+
+ Summary description for selettori
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ carica i dati CdC se in cache o da TableAdapter
+
+
+
+
+ restituisce l'elenco di tutti i cdc
+
+
+
+
+
+ restituisce l'elenco di tutti i cdc della gerarchia dell'utente
+
+
+
+
+
+ helper x raccolta dati di diagnostica
+
+
+
+
+ calcolo uptime in formato timespan
+
+
+
+
+
+ elenco devices USB
+
+
+
+
+
+ registra esito ping ad un dato IP/hostname
+
+ IPaddress / host name.
+
+
+
+ restituisce contenuto di una pagina web (per testing)
+
+
+
+
+
+
+ uptime macchina (formattato)
+
+
+
+
+ restituisce elenco dischi con utilizzo (formattato)
+
+
+
+
+
+ mostra elenco interfacce di rete e loro conf
+
+
+
+
+ fornisce elenco dispositivi USB collegati
+
+
+
+
+
+
+ elenco porte seriali
+
+
+
+
+ classe definizione info oggetti USB
+
+
+
+
+ Represents a strongly typed in-memory cache of data.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ tipo di chart (2D/3D)
+
+
+
+
+ 2D
+
+
+
+
+ 3D
+
+
+
+
+ web control che disegna un grafico a torta
+
+
+
+
+ altezza di default
+
+
+
+
+ larghezza di default
+
+
+
+
+ padding di default
+
+
+
+
+ legenda visibile di default
+
+
+
+
+ soglia minima 5% per mostrare il dato
+
+
+
+
+ renderizza il contenuto
+
+
+
+
+
+ disegna la leggenda html laterale...
+
+
+
+
+
+ disegna piechart 2-dim
+
+
+
+
+
+ disegna piechart 3d ellittica
+
+
+
+
+
+ traduce la stringa colore in oggetto colore
+
+
+
+
+
+
+ converte intero a stringa esadecimale
+
+
+
+
+
+
+ converte stringa esadecimale a intero
+
+
+
+
+
+
+ tipo di grafico (2D/3D)
+
+
+
+
+ ampiezza del grafico
+
+
+
+
+ altezza del grafico
+
+
+
+
+ padding grafico/container
+
+
+
+
+ boolean se si debba mostrale la legenda
+
+
+
+
+ percentuale minima da mostrare
+
+
+
+
+ serie di dati (tipizzata) ma mostrare
+
+
+
+
+ testo associato al controllo
+
+
+
+
+ layer gestione vari tipi di memoria: cache, session...
+
+
+
+
+ lettore file configurazione
+
+
+
+
+ oggetto singleton x accesso al layer di memoria
+
+
+
+
+ classe gestione accessi a Session, cache, viewstate, configuration...
+
+
+
+
+ legge dalla config un valore bool
+
+
+
+
+
+
+ legge dalla config un valore string
+
+
+
+
+
+
+ legge dalla config un valore int
+
+
+
+
+
+
+ carica dalla sessione un dato di tipo object generico
+
+
+
+
+
+
+ carica dalla sessione un dato di tipo boolean (se vuoto false)
+
+
+
+
+
+
+ carica dalla sessione un dato di tipo string
+
+
+
+
+
+
+ carica dalla sessione un dato di tipo long
+
+
+
+
+
+
+ carica dalla sessione un dato di tipo int
+
+
+
+
+
+
+ inserisce in session un valore
+
+
+
+
+
+
+ inserisce in session un valore
+
+ nome della variabile
+ valore associato
+ indica se debba sopravvivere ad update (inserita in elenco valSess2SurvUpd)
+
+
+
+
+ svuota una variabile dalla session
+
+
+
+
+
+ restituisce true se è presente in session l'oggetto richiesto
+
+
+
+
+
+
+ restituisco un valore da cookie
+
+
+
+
+
+
+ salvo un valore come cookie
+
+
+
+
+
+
+
+ salvo un valore come cookie con expiry date esplicita
+
+
+
+
+
+
+
+
+ elimina un cookie
+
+
+
+
+
+ carica dalla Cache un dato di tipo object generico
+
+
+
+
+
+
+ carica dalla Cachee un dato di tipo boolean (se vuoto false)
+
+
+
+
+
+
+ carica dalla Cachee un dato di tipo string
+
+
+
+
+
+
+ inserisce in Cache un valore
+
+ nome della variabile
+ valore
+
+
+
+ inserisce in Cache un valore e su richiesta regitra tra le tab in cache da svuotare on update..
+
+ nome della variabile
+ valore
+ da registrare come tabella da svuotare on update?
+
+
+
+
+ svuota una variabile dalla Cache
+
+
+
+
+
+ restituisce true se è presente in cache l'oggetto richiesto
+
+
+
+
+
+
+ aggiunge la stringa corrente nel dictionary delle tabelle messe in cache e da aggiornare su comando update
+
+
+
+
+
+ aggiunge la stringa corrente nel dictionary delle tabelle messe in session che vanno preservate da comando update (es: oggetto selezionato...)
+
+
+
+
+
+
+ forza lo svuotamento delel tabelle indicate come in cache...
+
+
+
+
+ elenco dictionary delle tab in cache da aggiornare con update svuotando da cache...
+
+
+
+
+ elenco dictionary dei valori in session da NON aggiornare con update...
+
+
+
+
+ Represents a strongly typed in-memory cache of data.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ classe di gestione dei db x creazione/update alla versione richiesta
+
+
+
+
+ oggetto connessione
+
+
+
+
+ stringa di connessione
+
+
+
+
+ dir che contiene gli script da eseguire...
+
+
+
+
+ formato del file SQL impiegato (nel senso di formato come iFormat del tipo "App_{0:0000}.sql" --> da App_0001.sql ad App_9999.sql)
+
+
+
+
+ avvio protected della classe
+
+
+
+
+ esegue gli script di sql di update dal file richiesto
+
+
+
+
+
+
+
+ Aggiorna il db eseguendo gli script dalla versione di partenza a quella di arrivo
+
+ NB: per definizione rev 0 = resetta svuotando DB, rev 1 crea tabelle iniziali, rev 2 inserisce i valori di default
+
+ nome DB di cui cercare script
+ revisione di partenza
+ revisione di arrivo
+ timeout max per ogni operazione
+
+
+
+
+ verifica se il db indicato esiste o meno...
+
+
+
+
+
+
+
+ crea il db indicato con i parametri di connessione specificati
+
+
+
+
+
+
+
+ classe gestione auth
+
+
+
+
+ Tenta autologin con autoriconoscimento Dominio/username by cookie
+
+
+
+
+
+
+ crea un nuovo record device e salva un nuovo cookie su db x il dispositivo e l'utente richiesti
+
+
+
+
+
+
+
+
+
+
+
+ rimuove device da DB e toglie il cookie
+
+ secret associata al device
+
+
+
+
+ rimuove device da DB e toglie il cookie
+
+ Nome Device
+
+
+
+
+ imuove device da DB e toglie il cookie
+
+
+
+
+
+
+
+ classe gestione utente: auth e permission/ruoli - versione GENERICA
+
+
+
+
+ cancella da session l'utente
+
+
+
+
+ carica la riga dati utente
+
+
+
+
+ carica la riga dati utente da SOLO USERNAME
+
+
+
+
+ Carica la tabella diritti dell'utente da db e salva in session
+
+
+
+
+ Carica la tabella diritti dell'utente da db e salva in session
+
+
+
+
+ Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato
+
+
+
+
+
+ Effettua setup dei permessi una volta salvati i diritti
+
+
+
+
+ imposta la lingua utente dal valore della riga DB
+
+
+
+
+ costruisce la mappa del sito per l'utente
+
+
+
+
+ formatta un nodo in modo corretto dai dati indicati
+
+
+
+
+
+
+
+
+ inizializza la gestione utente...
+
+
+
+
+ traduce il lemma nella lingua dell'user corrente
+
+
+
+
+
+
+ traduce il lemma in inglese
+
+
+
+
+
+
+ traduce il lemma nella lingua richiesta
+
+
+
+
+
+
+ traduce il lemma nella lingua dell'user e in inglese tra parentesi
+
+
+
+
+
+
+ LogOff utente con reset dati
+
+
+
+
+
+
+
+ Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
+
+
+
+
+
+
+
+ Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
+
+
+
+
+
+
+
+ controllo utente/pwd da tab
+
+
+
+
+
+
+
+ Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato
+
+
+
+
+
+
+
+
+ salva dati accessori quali il cdc dell'utente...
+
+
+
+
+ verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta
+
+
+
+
+
+
+ verifica le credenziali AD dell'utente...
+
+
+
+
+
+
+
+ conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1
+
+
+
+
+
+
+ verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S')
+
+
+
+
+
+
+ ricarica e ri-traduce la mappa sito per l'utente...
+
+
+
+
+ retituisce il nome apgina dai permessi utente
+
+
+
+
+
+ restituisce cognome e nome di un utente dato username...
+
+ username
+
+
+
+
+ restituisce cognome e nome di un utente data la matricola...
+
+ matricola
+
+
+
+
+ restituisce cognome e nome di un utente dato username e dominio...
+
+ username
+ dominio
+
+
+
+
+ restituisce cognome e nome di un utente dato username...
+
+ username
+
+
+
+
+ restituisce cognome e nome di un utente dato username e dominio...
+
+ username
+ dominio
+
+
+
+
+ restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio...
+
+ {dominio\}userName
+
+
+
+
+ restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti
+
+
+
+
+
+
+
+ restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione
+
+ nome del modulo
+ nome della funzione
+ tabella utenti
+
+
+
+ restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione
+
+ nome del modulo
+ nome della funzione
+ stringa di email separate da ","
+
+
+
+ crea un nuovo utente con le credenziali indicate
+
+
+
+
+
+
+
+
+
+
+
+ assegna il diritto all'utente indicato
+
+
+
+
+
+
+
+
+
+
+ toglier il diritto all'utente indicato
+
+
+
+
+
+
+
+
+
+
+ restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...)
+
+ modulo di cui si testano i diritti
+
+
+
+
+ versione statica della classe utente come singleton UtenTeSignletoN
+
+
+
+
+ restituisce la tabella diritti da session
+
+
+
+
+ tabella dei permessi utente
+
+
+
+
+ tabella dei permessi utente di tipo "WRITE" enabled
+
+
+
+
+ retituisce username AD
+
+
+
+
+ oggetto utente con metodi get/set
+
+
+
+
+ oggetto password con metodi get/set
+
+
+
+
+ oggetto dominio con metodi get/set
+
+
+
+
+ oggetto modulo (applicazione) con metodi get/set
+
+
+
+
+ oggetto lingua utente con metodi get/set
+
+
+
+
+ oggetto runMode corrente
+
+
+
+
+ restituisce true se utente forzato da forceUser.aspx
+
+
+
+
+ restituisce i valori della riga utente da db
+
+
+
+
+ restituisce una stringa formattata con cognome, nome e matricola
+
+
+
+
+ restituisce una stringa della sigla dell'utente
+
+
+
+
+ restituisce una stringa formattata con cognome e nome
+
+
+
+
+ restituisce una stringa formattata con cognome
+
+
+
+
+ restituisce una stringa formattata con nome
+
+
+
+
+ fornisce un file XML della mappa del sito abilitato per l'utente...
+
+
+
+
+ è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza...
+
+
+
+
+ struttura di comando da input utente (es: via barcode)
+
+
+
+
+ definisce se il comando sia valido o no
+
+
+
+
+ testo da mostrare dato il comando
+
+
+
+
+ comando registrato
+
+
+
+
+ comando precedentemente inserito
+
+
+
+
+ descrizione del comando
+
+
+
+
+ descrizione del comando precedente
+
+
+
+
+ valore del comando
+
+
+
+
+ valore tradotto del comando
+
+
+
+
+ costruttore del metodo...
+
+
+
+
+ classe con funzioni specifiche di calcolo
+
+
+
+
+ inizializzazione classe
+
+
+
+
+ elenco dei caratteri base 36: 0..9A..Z
+
+
+
+
+
+ converte da base di dimensione nBase a valore intero
+
+ valore in formato nBase
+ base, max 36 (0..9A..Z)
+
+
+
+
+ metodo di accesso singleton
+
+
+
+
+ Accesso in lettura e scrittura al filesystem per gestione files upload e download
+
+
+
+
+ path di lavoro dei metodi leggi/scrivi
+
+
+
+
+ verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale
+
+
+
+
+
+
+ restituisce una tab di files dato l'elenco dei files
+
+
+
+
+
+
+ setta le directory
+
+
+
+
+
+ oggetto WebClient
+
+
+
+
+ inizializza il metodo alla cartella indicata
+
+
+ non serve +... x retrocompatibilità...
+
+
+
+ metodo di avvio empty
+
+
+
+
+ cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
+
+
+
+
+
+
+ cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
+
+
+
+
+
+
+
+ cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath
+
+
+
+
+
+
+ Legge i dati da uno stream fino a quando arriva alla fine.
+ I dati sono restituiti come un byte[] array. un eccezione IOException è
+ sollevata se una delle chiamate IO sottostanti fallisce.
+
+ Lo stream da cui leggere
+ Lunghezza buffer iniziale (-1 = default 32k)
+
+
+
+ verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo
+
+
+
+
+
+ ottiene il dataset dei files presenti nella directory indicata esplicitamente
+
+ dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) )
+
+
+
+
+ ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto
+
+
+
+
+
+ ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto
+
+
+
+
+
+ elenco dei files come array di oggetti FileInfo
+
+
+
+
+
+ elenco dei files come array di oggetti FileInfo filtrati per parametro
+
+
+
+
+
+
+ elimina la directory di lavoro se è dir virtuale mappata
+
+
+
+
+
+ elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno
+
+ regexp selezione files in dir (* = tutti!!!)
+
+
+
+
+ verifica se il file indicato esista in workDir
+
+
+
+
+
+
+ elimina il file indicato dalla directory di lavoro
+
+
+
+
+
+
+ restituisce lo stream del file richiesto
+
+
+
+
+
+
+ restituisce la stringa letta dal file richiesto
+
+
+
+
+
+
+ scrive il file dallo stream byte[] inviato
+
+
+
+
+
+
+
+ scrive il file dalla stringa inviata
+
+
+
+
+
+
+
+ converte una string in un byte[]
+
+
+
+
+
+
+ converte un byte[] in una string
+
+
+
+
+
+
+ sposta il file da From a To...
+
+
+
+
+
+
+
+
+ copia il file da From a To...
+
+
+
+
+
+
+
+
+ copia il file da From a To...
+
+
+
+
+
+
+
+
+
+ imposta la dir di lavoro
+
+
+
+
+
+ imposta la dir di lavoro
+
+
+ non serve +... x retrocompatibilità...
+
+
+
+ imposta la dir di lavoro impostandola dal mapPath corretto della web app...
+
+
+
+
+
+ esegue un comando in shell
+
+
+
+
+
+
+
+
+ esegue un comando in shell
+
+
+
+
+
+
+
+
+ Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto
+
+ url del file
+ nome con cui salvare il file
+
+
+
+
+ comprime zip il file indicato
+
+
+
+
+
+
+ comprime zip i files corrispondenti alla RegExp indicata nella dir corrente
+
+ Espressione ricerca, come *.txt
+ Nome del file zip da creare
+
+
+
+
+ scompatta tutto il contenuto di un file zip
+
+
+
+
+
+
+ scompatta uno specifico file contenuto in un file zip
+
+
+
+
+
+
+ elimina il file indicato
+
+
+
+
+
+
+ calcola la dim della directory corrente...
+
+
+
+
+
+
+ elimina il file + vecchio
+
+
+
+
+
+
+ versione statica (singleton) del'oggetto fileMover
+
+
+
+
+ Base class for every user control in the application, containing some common
+ behaviour and utility methods.
+ It is not meant to be be used directly.
+
+
+
+
+ tipo id controllo con classi di base comune da cui derivare gli *.asmx
+
+
+
+
+ nome della pagina correntemente caricata
+
+
+
+
+ memorizza la pagina precedente (ovvero la corrente ma non da page-object ma in session...
+
+
+
+
+ stringa con CDC in (...) dei cdc abilitati (da permesso gerarchicamente a discendere...)
+
+
+
+
+ stringa con elenco CDC abilitati (da permesso gerarchicamente a discendere...)
+
+
+
+
+ tabella diritti
+
+
+
+
+ tabella di tutti i cdc
+
+
+
+
+ tipo di anagrafica usata
+
+
+
+
+ importo il tipo di vista del modulo
+
+
+
+
+ elenco testuale csv dei cdc accessibili all'utente (x filtri tipo IN(...))
+
+
+
+
+ numero di righe standard x i datagrid
+
+
+
+
+ numero di righe standard x i datagrid di anagrafica
+
+
+
+
+ numero di righe standard x i datagrid lunghi
+
+
+
+
+ numero di righe standard x i datagrid medi
+
+
+
+
+ numero di righe standard x i datagrid su mezza pagina
+
+
+
+
+ numero di righe standard x i selettori popup
+
+
+
+
+ indirizzo email dell'admin applicativo cui vanno le email in caso di anomalie...
+
+
+
+
+ indirizzo email dell'applicativo da cui partono le email in caso di anomalie...
+
+
+
+
+ indirizzo server SMTP
+
+
+
+
+ elenco delle pagine "safe" ovvero da non autorizzare - da web.config
+
+
+
+
+ elenco delle pagine "common" ovvero da autorizzare ma senza bisogno diritti in anagrafica - da web.config
+
+
+
+
+ valore che determina se è possibile forzare impersonificazioen utente...
+
+
+
+
+ livello di log (1-->5)
+
+
+
+
+ dir di logging
+
+
+
+
+ MAIN: esecuzione al caricamento del modulo delle routines di controllo utente e creazione pagina
+
+
+
+
+
+
+ predisposizione dati x pagina da cache/database a seconda della disponibilità in cache o refresh (B.1.4)
+
+
+
+
+ popola gli oggetti e le labels... (B.1.6)
+
+
+
+
+ disegna la pagina: prima i controlli poi il datagrid
+
+
+
+
+ aggiunge i link x i selettori
+
+
+
+
+ sistema i vari controlli della pagina
+
+
+
+
+ aggiorna eventuali datalist e datagrid
+
+
+
+
+ sistema tutte le labels traducendo i lemmi nella lingua utente ed in inglese
+
+
+
+
+ calcola come percentuale la radio dividendo/divisore
+
+
+
+
+
+
+
+ limita una stringa al numero max di caratteri imposto
+
+
+
+
+
+
+
+ Reads data from a stream until the end is reached. The
+ data is returned as a byte array. An IOException is
+ thrown if any of the underlying IO calls fail.
+
+ The stream to read data from
+ The initial buffer length
+
+
+
+ converte una data in formato aaaammgg in stringa gg/mm/aaaa
+
+
+
+
+
+
+ converte una data in formato aaaammgg in stringa aaaa-mm-gg
+
+
+
+
+
+
+ converte una stringa in formato gg/mm/aaaa in stringa(intero data) in formato aaaammgg
+
+
+
+
+
+
+ converte una datetime in un intero tipo yyyymmddhhmmss
+
+
+
+
+
+
+ formatta la data in formato dateTime in una data formato italiano come stringa gg/mm/aaaa
+
+
+
+
+
+
+ invia un alert jscript con messaggio indicato...
+
+ messaggio dell'alert da mandare
+
+
+
+ scrive immediatamente sulla pagina web il messaggio di avanzamento...
+
+
+
+
+
+ restituisce una scringa formattata in testa e coda x essere un corretto comando javascript
+
+
+
+
+
+
+ invio email senza log
+
+
+
+
+
+
+
+
+
+ invio email con log
+
+
+
+
+
+
+
+
+
+ caricamento dati applicazione da sessione (B.1.3)
+
+
+
+
+ setup datamanagers...
+
+
+
+
+ reset update del modulo corrente
+
+
+
+
+ (ri)carica i dataset del modulo
+
+
+
+
+ verifica se tutti i dataset richiesti sono disponibili i cache
+
+
+
+
+
+ salva nella cache i dataset caricati
+
+
+
+
+ carica dalla cache i dataset necessari
+
+
+
+
+ legge i valori standard x dataset e parametri
+
+
+
+
+ leggi i parametri di configurazione standard dell'applicativo
+
+
+
+
+ genera la stringa dei cdc autorizzati dell'utente
+
+
+
+
+ legge il dataset dei CdC
+
+
+
+
+ caricamento dati user da sessione (B.1.1)
+
+
+
+
+ verifica che l'utente abbia almeno un permesso per la pagina corrente altrimenti redirect ad unauthorized
+
+
+
+
+ salva in variabile pagina il nome della pagina corrente
+
+
+
+
+ selezione delle posizioni cdc autorizzate come stringa di filtraggio su POSIZIONE LIKE, se non ce ne fossero redirige su unauthorized.aspx
+
+
+
+
+
+ risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione
+
+
+
+
+
+ verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio da accodare al filtro x CdC autorizzati
+
+ condizione
+ tipo di eguaglianza
+ nome parametro
+ valore parametro
+
+
+
+
+ crea la stringa di filtraggio x data secondo modalità tipo inizio/fine/durante...
+
+
+
+
+
+ crea la stringa di filtraggio x data secondo modalità tipo minoreUguale / uguale / maggioreUguale...
+
+
+
+
+
+ verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio tipo LIKE x i campi inseriti separati da # SE valParam !=""
+
+
+
+
+
+
+
+ esegue la ricerca dei cdc nelle posizioni indicate dal filtro e restituisce elenco distinct degli stessi
+
+ filtro con cui cercare i cdc (del tipo " (POSIZIONE LIKE 'T.1.2.3%') OR ... "
+ stringa di filtraggio ricostruita per l'elenco dei cdc fino a quel momento trovati
+ ultimo cdc trovato
+ cdc corrente
+
+
+
+
+ restituisce il cdc dell'utente data la sua matricola
+
+
+
+
+
+
+ restituisce l'utente AS dall'utente win
+
+
+
+
+
+
+ restituisce la descr del CdC
+
+
+
+
+
+
+ invia la stringa jscript di conferma pre-cancellazione
+
+
+
+
+
+ restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}"
+
+ verrà usato x posizione {0}, tipo "view"
+ verrà usato x posizione {1}, tipo "_s.png"
+
+
+
+
+ restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}"
+
+ verrà usato x posizione {0}, tipo "view"
+ verrà usato x posizione {1}, tipo "_s.png"
+ tipo del file richiesto..."
+
+
+
+
+ effettua traduzione del lemma
+
+
+
+
+
+
+ effettua traduzione in inglese del lemma
+
+
+
+
+
+
+ definisce visibilità
+
+
+
+
+
+
+ effettua la registrazione degli eventi
+
+
+
+
+ effettua l'inserimento vero e proprio dell'evento letto dai valori in session x l'utente corrente...
+
+ evento da loggare
+ valori originali
+ nuovi valori
+ filtro associato
+
+
+
+ salva in sessione i valori indicati
+
+ dictionary dei valori vecchi
+ dictionary dei valori nuovi
+ bool su abilitazione al log dell'oggetto
+ descrizione evento da loggare
+ filtro associato all'evento
+ restituisce il numero di elementi contenuti, -1 significa nessuna differenza...
+
+
+
+ salva in sessione i valori per un oggetto che sta x essere eliminato
+
+ dictionary dei valori vecchi
+ bool su abilitazione al log dell'oggetto
+ descrizione evento da loggare
+ filtro associato all'evento
+ restituisce il numero di elementi contenuti, -1 significa nessuna differenza...
+
+
+
+ wrapper per log con salvataggio dell'IP del chiamante
+
+
+
+
+
+
+ wrapper per log con salvataggio dell'IP del chiamante
+
+
+
+
+
+
+ imposto il tipo di anagrafica del controlloS
+
+
+
+
+ variabile salvata in view state x la stringa di sorting - dg 2
+
+
+
+
+ variabile salvata in view state x la stringa di sorting - dg 2
+
+
+
+
+ legge e scrive in viewState la stringa di filtraggio...
+
+
+
+
+ variabile salvata in viewstate x la direzione del sorting
+
+
+
+
+ genera la stringa filtro x i cdc autorizzati x l'user
+
+
+
+
+
+ tipo di vista del modulo
+
+
+
+
+ Pagina base applicazioni SteamWare da cui derivare le altre
+
+
+
+
+ Iniziazlizzazione void (non fa nulla)
+
+
+
+
+ Metodo MAIN: viene eseguita al caricamento ed effettua delle routines per il controllo utente e istanzia l'oggetto memLayer
+
+
+
+
+
+
+ rimanda alla pagina di Work In Progress salvando in session un titolo ed una descrizione che al pagina wip poi mostrerà all'utente
+
+ titolo da mostrare nella pagina WIP
+ descrizione da mostrare nella pagina WIP
+
+
+
+ wrapper per log con salvataggio dell'IP del chiamante
+
+
+
+
+
+
+ wrapper per log con salvataggio dell'IP del chiamante
+
+
+
+
+
+
+ struttura che definisce i parametri di un turno di lavoro
+
+
+
+
+ definisce un intervalo di 2 date
+
+
+
+
+ data inizio
+
+
+
+
+ data fine
+
+
+
+
+ indica se sia valido il dato, ovvero inizio e fine > 0 e FINE >= INIZIO
+
+
+
+
+ struttura orario ordinarie/strordinarie
+
+
+
+
+ ore ordinarie
+
+
+
+
+ ore straordinarie
+
+
+
+
+ classe di funzioni inerenti le date
+
+
+
+
+ inizializzazione empty
+
+
+
+
+ calcola il turno di riferimento data una data di riferimento
+
+
+
+
+
+
+ costruisce un oggetto intervallo date
+
+
+
+
+
+
+
+ effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine
+
+
+
+
+
+
+
+ oggetto mese precedente alla dataLilmite
+
+
+
+
+
+ oggetto mese corrente fino alla dataLilmite
+
+
+
+
+
+ confronta le date e restituisce true se le date sono nello stesso mese
+
+
+
+
+
+
+
+ restituisce l'intervallo del giorno completo che comprende la data indicata
+
+
+
+
+
+
+ restituisce l'intervallo di N giorni fino alla data indicata
+
+
+
+
+
+
+
+ restituisce l'intervallo della settimana corrente per la data indicata
+
+
+
+
+
+
+ restituisce l'intervallo del mese corrente per la data indicata (dal giorno 1 all'indomani delal data indicata)
+
+
+
+
+
+
+ restituisce l'intervallo del mese che comprende la data indicata (dal primo all'ultimo giorno)
+
+
+
+
+
+
+ restituisce l'intervallo dell'anno corrente per la data indicata
+
+
+
+
+
+
+ oggetto singleton
+
+
+
+
+ classe di gestione delle email
+
+
+
+
+ stringa nel nome DNS o dell'ip del server SMTP
+
+
+
+
+ metodo static per la gestione delle email
+
+
+
+
+
+ metodo static per la gestione delle email
+
+
+
+
+
+
+ procedura invio email
+
+ email mittente
+ email destinatario
+ oggetto dell'email
+ corpo del messaggio
+
+
+
+ procedura invio email + scrittura in log!
+
+ email mittente
+ email destinatario
+ oggetto dell'email
+ corpo del messaggio
+
+
+
+ metodo singleton gestione email...
+
+
+
+
+ Tipo di comparazione, Binary == CaseSensitive, Text = insensitive
+
+
+
+
+ tipo controllo : binario
+
+
+
+
+ tipo controllo : text
+
+
+
+
+ Funzione di splitting compatibile con multi-character e multi-line
+
+
+
+
+ stringa da splittare
+
+
+
+
+ Delimiter con cui splittare
+
+
+
+
+ Costruttore dello Splitter
+
+
+
+
+ comparatore case sensitive
+
+
+
+
+
+
+
+ comparatore case insensitive
+
+
+
+
+
+
+
+ parte principale dello splitter
+
+ stringa da splittare
+ delimitatore ricercato
+ true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base)
+
+ 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive
+
+
+
+
+ elimina dal nome file il tipo (desinenza)
+
+
+
+
+
+
+ Classe di metodi che estendono quelli base applicati alle string
+
+
+
+
+ Trasforma in MAIUSCOLo il primo carattere della stringa
+
+ stringa da processare
+ stringa processata
+
+
+
+ restituisce la stringa completa e corretta del filepath del server (anche con vDir)
+
+ path relativo alla cartella iis dell'applicativo
+ path fisico tradotto
+
+
+
+ effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi
+
+
+
+
+
+
+ restituisce una stringa uguale all'originale + terminazione newline
+
+
+
+
+
+
+ formatta un titolo
+
+ Titolo da scrivere
+ carattere x padding titolo
+ larghezza caratteri (x pad)
+
+
+
+
+ formatta una riga di caratteri
+
+ carattere da utilizzare
+ larghezza caratteri (x pad)
+
+
+
+
+ fornisce dati di base per l'utente
+
+
+
+
+ fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE
+
+
+
+
+
+
+ restituisce la riga completa dall'username richiesto
+
+
+
+
+
+
+
+ calcola il nome del computer dato l'IP
+
+
+
+
+
+
+ scarica una pagina da URL e fornisce testo string
+
+ Indirizzo pagina (completo)
+ username (se necessario)
+ password (se necessaria)
+
+
+
+
+ manda pacchetto ARP
+
+
+
+
+
+
+
+
+
+ fornisce mac address dato nome/IP
+
+
+
+
+
+
+ utils x cifrature e Crypto
+
+
+
+
+ cifra un messaggio con una password
+
+
+
+
+
+
+
+ decifra un messaggio con una password
+
+
+
+
+
+
+
+ classe gestione logging esteso di eventi e note utente (correlabili)
+
+
+
+
+ TableAdapter di accesso alla tabella anagrafica filtraggi
+
+
+
+
+ TableAdapter di accesso alla tabella anagrafica record
+
+
+
+
+ TableAdapter di accesso alla tabella logging record di eventi
+
+
+
+
+ TableAdapter di accesso alla tabella logging utente
+
+
+
+
+ TableAdapter di accesso alla vista logging eventi
+
+
+
+
+ TableAdapter di accesso alla vista logging utente
+
+
+
+
+ effettua setup dei connection strings da web.config delal singola applicazione
+
+
+
+
+ avvio i tari tableAdapters
+
+
+
+
+ avvio della classe istanziando db e
+
+
+
+
+ oggetto statico di accesso ai metodi della classe...
+
+
+
+
+ tabella eventi
+
+
+
+
+
+ tabella note
+
+
+
+
+
+ tabella eventi secondo filtro
+
+ filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
+
+
+
+
+ tabella note secondo filtro
+
+ filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
+
+
+
+
+ tabella eventi secondo filtro e condizione ulteriore WHERE esplicitata
+
+ filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
+ ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}"
+
+
+
+
+ tabella note secondo filtro e condizione ulteriore WHERE esplicitata
+
+ filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
+ ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}"
+
+
+
+
+ tabella note secondo filtro
+
+ filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento
+
+
+
+
+ inserisce l'evento indicato dai parametri
+
+ user che ha generato l'evento
+ pagina/form applicaizone in cui l'evento si è generato
+ valore originale(se c'è)
+ valore nuovo/modificato
+ descrizione evento (poi gestita con anagrafica interna)
+ filtro logico evento (poi gestita con anagrafica interna)
+
+
+
+ inserisce la nota utente indicata dai parametri, restituisce idx della nota creata...
+
+ user che ha inserito la nota
+ testo della nota
+ valore ulteriore da associare alla nota (es: label, codice, versione, ...)
+ filtro logico evento (poi gestita con anagrafica interna)
+ intero dell'idx della nota creata
+
+
+
+ associa l'evento e la nota indicati
+
+ idx del record da associare
+ idx chiave della nota da associare
+
+
+
+ associa l'ultimo evento del filtro indicato alla nota
+
+ filtro associato all'ultimo evento...
+ idx chiave della nota da associare
+
+
+
+ segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati
+
+ utente generatore dell'evento
+
+
+
+ segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati
+
+ utente generatore dell'evento
+
+
+
+ Elimina gli eventi cestinati generati dall'utente indicato
+
+ utente generatore dell'evento
+
+
+
+ Elimina gli eventi cestinati anteriori alla data selezionata
+
+ dataOra dell'evento
+
+
+
+ effettua la registrazione dell'evento in session
+
+
+
+
+ metodo di comportamento del controllo di logging
+
+
+
+
+ nasconde pannello log
+
+
+
+
+ memorizza log inserito
+
+
+
+
+ mostra pannello log
+
+
+
+
+ metodo di comportamento del controllo di logging
+
+
+
+
+ indica il primo step del doppio livello di approvazione (completamento)
+
+
+
+
+ SOLO con incremento indice di revisione dell'oggetto approvato
+
+
+
+
+ SOLO mantenendo indice di revisione corrente
+
+
+
+
+ permette SIA con revisione che senza (e anche rev -1)
+
+
+
+
+ classe gestione parametri deviceper stampa
+
+
+
+
+ creazione oggetto parametri per stampa
+
+
+
+
+
+
+
+
+
+
+
+ formato output
+
+
+
+
+ altezza
+
+
+
+
+ larghezza
+
+
+
+
+ margine Sx
+
+
+
+
+ margine Dx
+
+
+
+
+ margine Top
+
+
+
+
+ margine Bottom
+
+
+
+
+ classe di wrap verso i TableAdapter impiegati
+
+
+
+
+ metodo protected di avvio della classe
+
+
+
+
+ procedura di avvio dei tableAdapter
+
+
+
+
+ procedura di avvio dei tableAdapter
+
+
+
+
+ effettua setup dei connection strings da web.config delal singola applicazione
+
+
+
+
+ effettua setup dei connection strings da web.config delal singola applicazione
+
+
+
+
+ setup delle tabelle vocabolario
+
+
+
+
+ prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary
+
+
+
+
+
+ tableAdapter diritti
+
+
+
+
+ tableAdapter permessi
+
+
+
+
+ tableAdapter funzione
+
+
+
+
+ tableAdapter permessi2funzione
+
+
+
+
+ tableAdapter CdC
+
+
+
+
+ tableAdapter utenti
+
+
+
+
+ tableAdapter userData (user/pwd)
+
+
+
+
+ tableAdapter userDataExt (user/pwd)
+
+
+
+
+ table adapter lingue
+
+
+
+
+ table adapter vocabolario
+
+
+
+
+ table adapter versione vocabolario
+
+
+
+
+ table adapter versione anagrafica
+
+
+
+
+ table adapter Devices utente
+
+
+
+
+ oggetto vocabolario organizzato come dizionario con chiave lang#lemma e valore la traduzione
+
+
+
+
+ resetta il vocabolario rileggendo i dati...
+
+
+
+
+ crea nel db corrente il lemma richiesto e lo valorizza come "--{0}--"
+
+
+
+
+
+
+ classe singleton x la gestione dei tableadapters
+
+
+
+
+ elenco lingue ammesse da vocabolario...
+
+
+
+
+ Represents a strongly typed in-memory cache of data.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Row event argument class
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ enumeratore modalità login
+
+
+
+
+ login AD normale
+
+
+
+
+ forza utente fornendo password
+
+
+
+
+ forza ad un utente standard scelto dall'elenco
+
+
+
+
+ enumeratore modalità scrittura tag siteMap
+
+
+
+
+ nodo di tipo iniziale - apertura
+
+
+
+
+ nodo di tipo foglia
+
+
+
+
+ nodo di tipo finale - chiusura
+
+
+
+
+ enumeratore tipi di anagrafica
+
+
+
+
+ tipo di anagrafica Brembo
+
+
+
+
+ tipo di anagrafica generica
+
+
+
+
+ tipo di vista del modulo
+
+
+
+
+ modalità selezione
+
+
+
+
+ modalità editing
+
+
+
+
+ modalità inserting nuovo valore
+
+
+
+
+ tipologia di file immagine
+
+
+
+
+ formato gif (no alpha channel)
+
+
+
+
+ formato jpeg
+
+
+
+
+ formato png
+
+
+
+
+ tipo di immagini usate per le icone di comando in web applications
+
+
+
+
+ icona annulla (croce rossa)
+
+
+
+
+ icona approva (simbolo coccarda)
+
+
+
+
+ icona barcode in campo bianco
+
+
+
+
+ icona barcode in campo arancio
+
+
+
+
+ icona clona (magic wand)
+
+
+
+
+ icona converma (spunta verde)
+
+
+
+
+ icona elimina (cestino)
+
+
+
+
+ icona modifica (matita)
+
+
+
+
+ icona notepad (blocco note)
+
+
+
+
+ icona notepad + pdf (blocco note)
+
+
+
+
+ icona nuovo (segno +)
+
+
+
+
+ icona seleziona (lente)
+
+
+
+
+ icona semaforo giallo
+
+
+
+
+ icona semaforo rosso
+
+
+
+
+ icona semaforo verde
+
+
+
+
+ icona stampa (printer)
+
+
+
+
+ dimensione immagini usate per le icone di comando in web applications
+
+
+
+
+ formato piccolo
+
+
+
+
+ formato medio
+
+
+
+
+ formato grande
+
+
+
+
+ modalità di esecuzione applicativi
+
+
+
+
+ modalità normale
+
+
+
+
+ modalità debug
+
+
+
+
+ salvataggio di tutti i lemmi tradotti
+
+
+
+
+ classe gesione log files applicazioni
+
+
+
+
+ directory base x logs
+
+
+
+
+ nome del file corrente
+
+
+
+
+ max mb di log da accumulare
+
+
+
+
+ controlla se si debba mantenere sotto controllo la dimensioen della cartella logs
+
+
+
+
+ singleton del logger
+
+
+
+
+ avvio del logger nella dir desiderata
+
+
+
+
+ avvio del logger nella dir desiderata
+
+
+
+
+ avvio del logger nella dir desiderata con il max di dati indicato
+
+
+
+
+ resetta il logfile odierno
+
+
+
+
+ scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?)
+
+ testo iniziale del log
+
+
+
+
+ scrive un messaggio di log con etichetta pre
+
+ testo messaggio
+ tipo di log da registrare (etichetta [...])
+
+
+
+
+ scrive su log un dump di diagnostica
+
+ Causale diagnostica
+ target per test PING
+ target x download www page
+
+
+
+ formatta un blococ di diagnostica (titolo, contenuto / eccezione)
+
+
+
+
+
+
+
+ fornisce il nome del file in cui loggare (ed eventualmente crea...)
+
+
+
+
+ provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
+
+
+
+
+ fornisce il file + vecchio
+
+
+
+
+
+
+ livello di log applicazione (da web.config, chiave '_logLevel')
+
+
+
+
+ tipo di log ammesso
+
+
+
+
+ informazioni di debug
+
+
+
+
+ dump diagnostica
+
+
+
+
+ errori
+
+
+
+
+ eccezioni nell'esecuzione try/catch
+
+
+
+
+ errori fatali
+
+
+
+
+ informazioni opzionali
+
+
+
+
+ log dei lemmi invocati per traduzione da vocabolario
+
+
+
+
+ fase di avvio componente
+
+
+
+
+ avvisi
+
+
+
+
+ classe di gestione lettura
+
+
+
+
+ esegue parsing fornendo dati ed headers
+
+
+
+
+
+
+
+ esegue parsing fornendo dati
+
+
+
+
+
+
+ esegue parsing fornendo dati come stream
+
+
+
+
+
+
+ esegue parsing fornendo dati come stream ed headers
+
+
+
+
+
+
+
+ classe per effettuare confronto tra valori disomogeneri per tipo e costruire diff testuali
+
+
+
+
+ valore originale
+
+
+
+
+ nuovo valore
+
+
+
+
+ dictionary dei parametri vecchi
+
+
+
+
+ dictionary dei parametri nuovi
+
+
+
+
+ inizializzazione classe
+
+
+
+
+ valorizza i diff dei valori old e new
+
+
+
+
+ calcola solo il vettore dei valori old (x delete)
+
+
+
+
+ oggetto statico per il confronto valori
+
+
+
+
+ stringa diff dei valori originali modificati
+
+
+
+
+ stringa diff dei valori nuovi modificati
+
+
+
+
+ dictionary dei parametri old
+
+
+
+
+ dictionary dei parametri new
+
+
+
+
+ Represents a strongly typed in-memory cache of data.
+
+
+
+
+ Represents the strongly named DataTable class.
+
+
+
+
+ Represents strongly named DataRow class.
+
+
+
+
+ Row event argument class
+
+
+
+
+ Represents the connection and commands used to retrieve and save data.
+
+
+
+
+ TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios
+
+
+
+
+ Update rows in top-down order.
+
+
+
+
+ Insert rows in top-down order.
+
+
+
+
+ Delete rows in bottom-up order.
+
+
+
+
+ Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first
+
+
+
+
+ Update all changes to the dataset.
+
+
+
+
+ Update Order Option
+
+
+
+
+ Used to sort self-referenced table's rows
+
+
+
+
diff --git a/project/Equa_Auth/bin/SteamWare.dll b/project/Equa_Auth/bin/SteamWare.dll
new file mode 100644
index 0000000..1e0f550
Binary files /dev/null and b/project/Equa_Auth/bin/SteamWare.dll differ
diff --git a/project/Equa_Auth/login.aspx b/project/Equa_Auth/login.aspx
new file mode 100644
index 0000000..67fdfa9
--- /dev/null
+++ b/project/Equa_Auth/login.aspx
@@ -0,0 +1,16 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="Equa_Auth.login" %>
+
+<%@ Register Src="WebUserControls/mod_login.ascx" TagName="mod_login" TagPrefix="uc1" %>
+
+
+
+
+
+
+
+
+
diff --git a/project/Equa_Auth/login.aspx.cs b/project/Equa_Auth/login.aspx.cs
new file mode 100644
index 0000000..f36aa09
--- /dev/null
+++ b/project/Equa_Auth/login.aspx.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using SteamWare;
+
+namespace Equa_Auth
+{
+ public partial class login : System.Web.UI.Page
+ {
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ string AuthCookie = "";
+ try
+ {
+ AuthCookie = Page.Request.QueryString["AuthCookie"].ToString();
+ logger.lg.scriviLog(string.Format("Richiesta verifica cookie: {0}", AuthCookie), tipoLog.INFO);
+ }
+ catch
+ { }
+ // salvo nome cookie richiesto
+ memLayer.ML.setSessionVal("AuthCookie", AuthCookie);
+ // setto modalità login
+ mod_login1.modoLogin = SteamWare.loginMode.normale;
+ }
+
+ protected override void OnInit(EventArgs e)
+ {
+ base.OnInit(e);
+ mod_login1.Login_ok += new EventHandler(Mod_login1_Login_ok);
+ mod_login1.Login_Error += new EventHandler(Mod_login1_Login_Error);
+ }
+
+ void Mod_login1_Login_Error(object sender, EventArgs e)
+ {
+ Response.Redirect("./unauthorized.aspx");
+ }
+
+ void Mod_login1_Login_ok(object sender, EventArgs e)
+ {
+ string nextPage = "";
+ try
+ {
+ nextPage = Page.Request.QueryString["jumpPage"].ToString();
+ }
+ catch
+ {
+ nextPage = "./LandingPage.aspx";
+ }
+ logger.lg.scriviLog(string.Format("Login ok, redirecting to {0}", nextPage), tipoLog.INFO);
+ Response.Redirect(nextPage);
+ }
+ }
+}
\ No newline at end of file
diff --git a/project/Equa_Auth/login.aspx.designer.cs b/project/Equa_Auth/login.aspx.designer.cs
new file mode 100644
index 0000000..6a8862c
--- /dev/null
+++ b/project/Equa_Auth/login.aspx.designer.cs
@@ -0,0 +1,33 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Equa_Auth {
+
+
+ public partial class login {
+
+ ///
+ /// form1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// mod_login1 control.
+ ///
+ ///
+ /// Auto-generated field.
+ /// To modify move field declaration from designer file to code-behind file.
+ ///
+ protected global::Equa_Auth.WebUserControls.mod_login mod_login1;
+ }
+}
diff --git a/project/Equa_Auth/logs/PlaceHolder.file b/project/Equa_Auth/logs/PlaceHolder.file
new file mode 100644
index 0000000..5f28270
--- /dev/null
+++ b/project/Equa_Auth/logs/PlaceHolder.file
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/project/XPS/bin/SteamWare.dll b/project/XPS/bin/SteamWare.dll
index fc470e7..1e0f550 100644
Binary files a/project/XPS/bin/SteamWare.dll and b/project/XPS/bin/SteamWare.dll differ
diff --git a/project/XPS/bin/XPS.dll b/project/XPS/bin/XPS.dll
index 25364a6..189834e 100644
Binary files a/project/XPS/bin/XPS.dll and b/project/XPS/bin/XPS.dll differ
diff --git a/project/XPS/bin/XPS_data.dll b/project/XPS/bin/XPS_data.dll
index b2ab103..82e87ce 100644
Binary files a/project/XPS/bin/XPS_data.dll and b/project/XPS/bin/XPS_data.dll differ
diff --git a/project/XPS/obj/EQUA/XPS.dll b/project/XPS/obj/EQUA/XPS.dll
index d2319df..2093aa0 100644
Binary files a/project/XPS/obj/EQUA/XPS.dll and b/project/XPS/obj/EQUA/XPS.dll differ
diff --git a/project/XPS/obj/Release/XPS.dll b/project/XPS/obj/Release/XPS.dll
index 593231c..189834e 100644
Binary files a/project/XPS/obj/Release/XPS.dll and b/project/XPS/obj/Release/XPS.dll differ
diff --git a/project/XPST/Web.config b/project/XPST/Web.config
index 213beab..423b9b8 100644
--- a/project/XPST/Web.config
+++ b/project/XPST/Web.config
@@ -109,11 +109,14 @@
-
+
+
+
+
@@ -121,6 +124,7 @@
+
@@ -139,7 +143,6 @@
-
diff --git a/project/XPST/WebUserControls/mod_login.ascx.cs b/project/XPST/WebUserControls/mod_login.ascx.cs
index 8f641bd..941a2e6 100644
--- a/project/XPST/WebUserControls/mod_login.ascx.cs
+++ b/project/XPST/WebUserControls/mod_login.ascx.cs
@@ -250,7 +250,7 @@ namespace XPST.WebUserControls
bool cookieLogin = false;
if (memLayer.ML.confReadBool("enableCookie"))
{
- cookieLogin = authProxy.tryAuthByCookie(memLayer.ML.confReadString("CodModulo"));
+ cookieLogin = authProxy.tryAuthByCookie(memLayer.ML.confReadString("AuthCookie"));
}
if (!cookieLogin)
{
diff --git a/project/XPST/bin/SteamWare.dll b/project/XPST/bin/SteamWare.dll
index fc470e7..1e0f550 100644
Binary files a/project/XPST/bin/SteamWare.dll and b/project/XPST/bin/SteamWare.dll differ
diff --git a/project/XPST/bin/XPST.dll b/project/XPST/bin/XPST.dll
index 1f47b33..97573d1 100644
Binary files a/project/XPST/bin/XPST.dll and b/project/XPST/bin/XPST.dll differ
diff --git a/project/XPST/bin/XPS_data.dll b/project/XPST/bin/XPS_data.dll
index b2ab103..82e87ce 100644
Binary files a/project/XPST/bin/XPS_data.dll and b/project/XPST/bin/XPS_data.dll differ
diff --git a/project/XPST/login.aspx.cs b/project/XPST/login.aspx.cs
index 3a81da6..f6868a5 100644
--- a/project/XPST/login.aspx.cs
+++ b/project/XPST/login.aspx.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
+using SteamWare;
namespace XPST
{
@@ -26,6 +27,25 @@ namespace XPST
{
// pulisco i record di viewstate vecchi...
RemoveViewStateFiles();
+ // controllo cookie...
+ bool cookieLogin = false;
+ if (memLayer.ML.confReadBool("enableCookie"))
+ {
+ cookieLogin = authProxy.tryAuthByCookie(memLayer.ML.confReadString("AuthCookie"));
+ }
+ if (!cookieLogin)
+ {
+ // compongo stringa x sito auth
+ string authPage = "./unauthorized.aspx";
+ try
+ {
+ authPage = string.Format("{0}login.aspx?AuthCookie={1}&jumpPage={2}", memLayer.ML.confReadString("authSite"), memLayer.ML.confReadString("AuthCookie"), memLayer.ML.confReadString("currSite"));
+ }
+ catch
+ { }
+ Response.Redirect(authPage);
+ }
+
// setto modalità login
mod_login1.modoLogin = SteamWare.loginMode.normale;
}
diff --git a/project/XPST/obj/Debug/XPST.dll b/project/XPST/obj/Debug/XPST.dll
index ceb28b1..fc63db3 100644
Binary files a/project/XPST/obj/Debug/XPST.dll and b/project/XPST/obj/Debug/XPST.dll differ
diff --git a/project/XPST/obj/EQUA/XPST.dll b/project/XPST/obj/EQUA/XPST.dll
index 1f47b33..854cafa 100644
Binary files a/project/XPST/obj/EQUA/XPST.dll and b/project/XPST/obj/EQUA/XPST.dll differ
diff --git a/project/XPST/obj/EQUA/build.force b/project/XPST/obj/EQUA/build.force
new file mode 100644
index 0000000..e69de29
diff --git a/project/XPST/obj/Release/XPST.dll b/project/XPST/obj/Release/XPST.dll
index a1deb65..97573d1 100644
Binary files a/project/XPST/obj/Release/XPST.dll and b/project/XPST/obj/Release/XPST.dll differ
diff --git a/project/XPS_app.sln b/project/XPS_app.sln
index 60135d9..311424f 100644
--- a/project/XPS_app.sln
+++ b/project/XPS_app.sln
@@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XPST", "XPST\XPST.csproj",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SteamWare", "..\..\SteamWareLibrary\SteamWare\SteamWare.csproj", "{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Equa_Auth", "Equa_Auth\Equa_Auth.csproj", "{BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|.NET = Debug|.NET
@@ -94,6 +96,24 @@ Global
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Release|Any CPU.Build.0 = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2872DCFE-8B46-43B2-BAA0-842A816A2DD5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|.NET.ActiveCfg = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|.NET.Build.0 = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|.NET.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|.NET.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|Any CPU.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|Any CPU.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.EQUA|Mixed Platforms.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|.NET.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|.NET.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {BDD58632-ED9F-46DE-ABE9-8B7E228EFA72}.Release|Mixed Platforms.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/project/XPS_app.suo b/project/XPS_app.suo
index 4c90e29..bb9d9ff 100644
Binary files a/project/XPS_app.suo and b/project/XPS_app.suo differ
diff --git a/project/XPS_data/bin/Debug/SteamWare.dll b/project/XPS_data/bin/Debug/SteamWare.dll
index e77a478..6c0f56c 100644
Binary files a/project/XPS_data/bin/Debug/SteamWare.dll and b/project/XPS_data/bin/Debug/SteamWare.dll differ
diff --git a/project/XPS_data/bin/Debug/XPS_data.dll b/project/XPS_data/bin/Debug/XPS_data.dll
index 8d56f91..92e1039 100644
Binary files a/project/XPS_data/bin/Debug/XPS_data.dll and b/project/XPS_data/bin/Debug/XPS_data.dll differ
diff --git a/project/XPS_data/bin/Release/SteamWare.dll b/project/XPS_data/bin/Release/SteamWare.dll
index bdd1e30..1e0f550 100644
Binary files a/project/XPS_data/bin/Release/SteamWare.dll and b/project/XPS_data/bin/Release/SteamWare.dll differ
diff --git a/project/XPS_data/bin/Release/XPS_data.dll b/project/XPS_data/bin/Release/XPS_data.dll
index 09da075..82e87ce 100644
Binary files a/project/XPS_data/bin/Release/XPS_data.dll and b/project/XPS_data/bin/Release/XPS_data.dll differ
diff --git a/project/XPS_data/obj/Debug/XPS_data.dll b/project/XPS_data/obj/Debug/XPS_data.dll
index 8d56f91..92e1039 100644
Binary files a/project/XPS_data/obj/Debug/XPS_data.dll and b/project/XPS_data/obj/Debug/XPS_data.dll differ
diff --git a/project/XPS_data/obj/Release/XPS_data.dll b/project/XPS_data/obj/Release/XPS_data.dll
index 09da075..82e87ce 100644
Binary files a/project/XPS_data/obj/Release/XPS_data.dll and b/project/XPS_data/obj/Release/XPS_data.dll differ