From 156ebfdf216a33eacf683a4ed2c4904c2ac30186 Mon Sep 17 00:00:00 2001 From: samuele Date: Tue, 3 Aug 2010 16:13:22 +0000 Subject: [PATCH] Completata gestione x UDC caricati a magazzino git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@185 365432ac-a1b5-4ffd-bb28-6d3099d32164 --- GMW/GMW_Term/WebUserControls/mod_barcode.ascx | 7 +- .../WebUserControls/mod_barcode.ascx.cs | 10 +- .../WebUserControls/mod_execUdc.ascx.cs | 3 + GMW/GMW_Term/WebUserControls/mod_home.ascx | 8 +- GMW/GMW_Term/WebUserControls/mod_home.ascx.cs | 12 +- GMW/GMW_Term/bin/GMW_Term.dll | Bin 16896 -> 17408 bytes GMW/GMW_Term/bin/GMW_data.dll | Bin 929792 -> 929792 bytes GMW/GMW_Term/bin/SteamWare.XML | 3156 +++++++++++++++++ GMW/GMW_Term/bin/SteamWare.dll | Bin 359936 -> 359936 bytes GMW/GMW_Term/obj/Debug/GMW_Term.dll | Bin 16896 -> 17408 bytes .../obj/Debug/ResolveAssemblyReference.cache | Bin 49783 -> 49783 bytes GMW/GMW_data/bin/Debug/GMW_data.dll | Bin 929792 -> 929792 bytes GMW/GMW_data/bin/Debug/SteamWare.dll | Bin 359936 -> 359936 bytes GMW/GMW_data/bin/Debug/SteamWare.xml | 3156 +++++++++++++++++ GMW/GMW_data/obj/Debug/GMW_data.dll | Bin 929792 -> 929792 bytes .../obj/Debug/ResolveAssemblyReference.cache | Bin 26863 -> 27478 bytes 16 files changed, 6336 insertions(+), 16 deletions(-) diff --git a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx index faa029fc..749b5a37 100644 --- a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx +++ b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx @@ -7,13 +7,14 @@
- +
- - + +
diff --git a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs index e7c1b5d2..b5c5c5d7 100644 --- a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs @@ -32,14 +32,14 @@ namespace GMW_Term.WebUserControls protected void Page_Load(object sender, EventArgs e) { // scrive label e text bottoni - - btnLoginPage.Text = "Login"; - btnButtonsHome.Text = "Home"; + btnLoginPage.Text = "[7]-Login"; + btnLoginPage.AccessKey = "7"; + btnButtonsHome.Text = "[9]-Home"; + btnButtonsHome.AccessKey = "9"; // se username è valorizzato... verificaOperatoreInSessione(); if (_validUserInSession) { - btnLoginPage.Text = "LogOff"; btnLoginPage.Visible = true; btnButtonsHome.Visible = true; lblData.Text = "Inserire Dati..."; @@ -52,7 +52,7 @@ namespace GMW_Term.WebUserControls btnButtonsHome.Visible = false; lblData.Text = "Effettuare Login"; } - + txtInput.Focus(); } /// /// inserito testo nella TextBox diff --git a/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs index 9759ba7c..0aa69a60 100644 --- a/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs @@ -50,6 +50,7 @@ namespace GMW_Term.WebUserControls traduciObj(); setupBtn(); } + txtInput.Focus(); } /// /// sistemo abilitazione buttons (a seconda dello stato dell'UDC) @@ -241,6 +242,8 @@ namespace GMW_Term.WebUserControls btnConferma.Visible = false; // aggiorna dati frmView.DataBind(); + // sistemo buttons + setupBtn(); } /// /// ritorna alla home diff --git a/GMW/GMW_Term/WebUserControls/mod_home.ascx b/GMW/GMW_Term/WebUserControls/mod_home.ascx index 0eb9e9cd..ba8e2ebd 100644 --- a/GMW/GMW_Term/WebUserControls/mod_home.ascx +++ b/GMW/GMW_Term/WebUserControls/mod_home.ascx @@ -1,17 +1,17 @@ <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_home.ascx.cs" Inherits="GMW_Term.WebUserControls.mod_home" %>
-  
-  
- +
- +
diff --git a/GMW/GMW_Term/WebUserControls/mod_home.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_home.ascx.cs index 97a952b5..fc0cecbe 100644 --- a/GMW/GMW_Term/WebUserControls/mod_home.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_home.ascx.cs @@ -14,10 +14,14 @@ namespace GMW_Term.WebUserControls { // scrive label e text bottoni - btn1.Text = "Barcode"; - btn2.Text = "Ricerca"; - btn3.Text = "Liste Prelievo"; - btn4.Text = "Task Attivi"; + btn1.Text = "[1]-Barcode"; + btn1.AccessKey = "1"; + btn2.Text = "[3]-Ricerca"; + btn2.AccessKey = "3"; + btn3.Text = "[7]-Liste Prel"; + btn3.AccessKey = "7"; + btn4.Text = "[9]-Task Attivi"; + btn4.AccessKey = "9"; } protected void btn1_Click(object sender, EventArgs e) diff --git a/GMW/GMW_Term/bin/GMW_Term.dll b/GMW/GMW_Term/bin/GMW_Term.dll index bc1e2ddaedd9f9359dbfe96e84e05736ce0c9fd7..7b69719e19d5abbfad10cbf2abda87ad8f77fb4b 100644 GIT binary patch delta 5907 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 diff --git a/GMW/GMW_Term/bin/GMW_data.dll b/GMW/GMW_Term/bin/GMW_data.dll index 45a63e2f805f5e0aef55df57403ea86019911e83..bac0ae6d39e205d922692854f13358cbcc02568a 100644 GIT binary patch delta 109 zcmV-z0FwWJ;5dNbIFN_}t~`N?g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CGVq^g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CG diff --git a/GMW/GMW_Term/bin/SteamWare.XML b/GMW/GMW_Term/bin/SteamWare.XML index 6809ec2a..64eda3e0 100644 --- a/GMW/GMW_Term/bin/SteamWare.XML +++ b/GMW/GMW_Term/bin/SteamWare.XML @@ -4,5 +4,3161 @@ SteamWare + + + classe gesione log files applicazioni + + + + + directory base x logs + + + + + nome del file corrente + + + + + max mb di log da accumulare + + + + + 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 + + + + + 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 [...]) + + + + + 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 + + + + + + + tipo di log ammesso + + + + + informazioni di debug + + + + + errori + + + + + eccezioni nell'esecuzione try/catch + + + + + errori fatali + + + + + informazioni opzionali + + + + + fase di avvio componente + + + + + avvisi + + + + + 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 + + + + + table adapter lingue + + + + + table adapter vocabolario + + + + + table adapter versione vocabolario + + + + + table adapter versione anagrafica + + + + + 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... + + + + + 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 + + + + + + + + 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... + + + + + 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... + + + + 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 + + + + + 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 + + + + + + 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 + + + + + + + + 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 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 + + + + + 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. + + + + + 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 + + + + + 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 + + + + + + + salvo un valore come cookie + + + + + + + + restituisco un valore da cookie + + + + + + + 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 + + + + + + + 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... + + + + + classe gestione parametri deviceper stampa + + + + + creazione oggetto parametri per stampa + + + + + + + + + + + + formato output + + + + + altezza + + + + + larghezza + + + + + margine Sx + + + + + margine Dx + + + + + margine Top + + + + + margine Bottom + + + + + 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 + + + + + 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 + + + + + definisce un intervalo di 2 date + + + + + data inizio + + + + + data fine + + + + + struttura orario ordinarie/strordinarie + + + + + ore ordinarie + + + + + ore straordinarie + + + + + classe di funzioni inerenti le date + + + + + inizializzazione empty + + + + + 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 + + + + + + + restituisce l'intervallo del mese che comprendela data indicata + + + + + + + restituisce l'intervallo dell'anno corrente per la data indicata + + + + + + + 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 + + + + + + + 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 + + + + + + + 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. + + + + + classe gestione utente: auth e permission/ruoli - versione GENERICA + + + + + cancella da session l'utente + + + + + carica la riga dati utente + + + + + 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 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 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 dominio con metodi get/set + + + + + oggetto modulo (applicazione) con metodi get/set + + + + + oggetto lingua utente con metodi get/set + + + + + 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... + + + + + 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 + + + + + calcola la dim della directory corrente... + + + + + + + elimina il file + vecchio + + + + + + + versione statica (singleton) del'oggetto fileMover + + + + + 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 + + + + + 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) + + + + + 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 + diff --git a/GMW/GMW_Term/bin/SteamWare.dll b/GMW/GMW_Term/bin/SteamWare.dll index 14010e5124a84697a601572baa25674755903e7d..6f9036da1e000c4eca758e70aa869b21f4bb004c 100644 GIT binary patch delta 87 zcmZqpBiissbV3L7TAPT*?$&O`)^4WOZsyi*maW~ao_+#cI_!6Hf-JpO`YByWYJJ_d r{fQsz5_OR3>D^_ll7bhnp6KG6b<$y1nc$Dra$GWu+qagndb0xnC9ESa delta 87 zcmZqpBiissbV3L7+uPxd-L2h>t=&wm-OR1sEL*!-J^chcR4Vps%-QL`S<(ND)9Rbb r+n@NcE>Q=mp59%?Dk&JdG2BJAXQA^}<^Yd7dp>nCZQokP>dg)SlfWfh diff --git a/GMW/GMW_Term/obj/Debug/GMW_Term.dll b/GMW/GMW_Term/obj/Debug/GMW_Term.dll index bc1e2ddaedd9f9359dbfe96e84e05736ce0c9fd7..7b69719e19d5abbfad10cbf2abda87ad8f77fb4b 100644 GIT binary patch delta 5907 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 diff --git a/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache b/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache index f55ea88d40790b9d099728c4c8adc8b242426a7d..20b98cb36dfc0d64bd27b1e1234bc92313d0490f 100644 GIT binary patch delta 4849 zcmZvg33QWH7J&2qCTadZP0}*sdeoeyRRw0sLy|@lqlzFB^gTWAhfblw*XBrLLon~|Xg4$ZM1?)xK(-~lpyPq_gU>n6wyFcssOFNm9)-9jGB&B-lAU*mw_DXgWXdBk7=_7= zju%6x#W#Bh>3)Smq@iH{=aN&Kuu82T$e)ZXo-|Pk9E-4Yi>hQi%9rL6qE47 z6zeFDlS)KQWTRjYzrl_Mo2}{KbKEq329i3HL>Y;460=CmM&ZmsK}}HUc=jCZXo*xr zUSFa02i%FI&PCy*!cr4dOP+8ScFgl2A;~B5U{caJa|J5Y`A}l(m+GWCQ%j@@vqM1+ z#X?wOb0;oBotAh5&svOqwFZ*x{nDLOX=;Ls%ZmiDV_pIqY(-)iylWdb@Lp7?4I~;# zgh(`zxR1nA63vk9aGRH5*Ss92*%yf$p~F7Tx`J%?lUS)YJCc>0lnHkSnr{o%hZ=&l zGlId|dul@JgJfTeq6I(mI`|>A90sObYPkuK1KNlkP24Q;cZ>xRH!0zuu1g41co zP7Tb>tf1QtSt+KLZKx4dSFT)Hil1>6LS+QdfO!Uxn((93E9PS-gdg2oP0-QgitJ#d zL&~_5k&Y|lE=D@IjJp~A5o}SPVV)?>dl)B4e3o&t#J!BSOMH&;4vG61OC&zeI7Q-q z#;FnyFiw~z`5^OjiH8{JLUB0{W5+b1XlhZR`T};<7g2CUb?~G%6(2zqw_|0ZRh%3F zG+?PFAw{b=5rL{mCDlYJN?zia0Yphws@jPP^*9Rle*!zraKckh&oKPmU3nW<@ieM6 zL06jbRYtnpjIS}$HD`RCaSlpe=nVr*4`w8*XHcQOiGmk;3l_LnwVXv1H%4MNu0j|Q z0W{!>!;zwi3`2+=hdXfqFZV8woGbA?MtUoF^*>`rEe%x%>dFHR)tdS~G6(PhcAzRP zIO9X?h{5qO)P8(1#}OmuO>LDbX&V`Py~x(1g`a zdfYAeDS4MN?Q4#HFcvoVAE)7PZp#Pjf9?N;(6rKJjiKtg{PJr3kJ&dUs->>6D%en4 zQ>mMCyo%ixF&9-g)-0;mi*vmSJnC`l%LZX5p(IOxfAA0`(HtJ7t6tPr6{P89`9l<| zbUmxCR^Kqpt2pe^SwmoHP5mPM)CjMVWR*%h5c+>dqJt5+ZYa2^NO3#?)7qX(-HP#Y z9*4(Ov^YP|ZV}rIaJb8@7)L_ZtEvU1Q~lz3HoNzt z*%_%@NuWNksJgDYJ_K#k{bE0l5QkuXK?b~C>JtaTileY&Onoq8NKJZX5>&1DBhPZ=dn8sK0j?%yjMiN4~lwTfaq&5-gJ46FB{ z16QSAyvkPPoPb9>9+rZHqM`lo6vCTnm zJT*mpXn@tnFvE|-BNLRU3#bWB5}&ZzuAw>>Dm;C!UorlTP03C)#UB~{XviD8XaBx$ zq>@0_YQVDpbFF5sz)Msb%+R;291?e-;cN?5;zD#^=x3q#zI@L6qAz*iybxpHsZa)} z4;1Np*PIu&!dM11l~B3HuYbC>N7yIz&fxL26ZO3HJ;FK-^|CZQt$zK^hkJxluE4Nd z54a!p>5p#g5pe6qGX0HBJ;GIuqpv>gt2Y(rI_T$tnj+|zfi?+C-m4jZ4A-j`UBuT5 z-rnpNKe5f$h_=`UTH5e(|I8M#9A0kC(Nnj?Jz=F!czeHGPqup%E%r;Uzw@M55%Qh4 z=+^ChcK`}^7AH820;ad^O{L!eE_3wxN)+MeD@pI(eNH6pjtdW(cTW^H)L#(vj>7Rh zK4I6zvxqJ2+3?NYBE{(7Y1U&nO}@K7KHoP8J^$cUnJhjWrzo$k)c3s@er@$Hj|}Pk z5W|3%rfJcD(?E23pzWm!EqaB$aG=xU8XTe{yvq0)!T0XZdedM|IFufy3lOQIr zzsEa#VCi(aW?ns5l(9YSSUcOB``DMU{o=6T{|DqmoR_%cXHG{;xC`@-_;5qPx#pUlwx?U(m5(@H#qG$fbxxF$x=Hf|{T_aDrUe(FARuu>?D2Hz?Y4kq#cM0EWi& zi&w{@*47mTHP{%F0$pSC?ir7uPC#MnPI_#DQp0g3V#izxOJZFj16pGX`b2x!3E zOha0T4;{3aikV37|@wK(yc~$l5>!?@XK*969iJh^t ztGpHY+1c4;`Psv(X8AnOYAf>ZL5rA(aYJjE5Ck;f8pb1q)-Vo%)?j1PP?WswcNvFC zY-D^`ViV&d68A9<529b)&pbk!b;gkr4=|3B_#WeEi3b_SNNi>tE3t)f97@jAA?zd% zD;hV)APEZe{Nj-vslXVoDl2^dxq-p8wcZ!VT>MK0er5;~}rv6!u z`vCSjeE!pjVqh?5#uW&8K|lj0Fc&G5z#IfhU;>-yYT*Q)VVo@SEaMc3=NKQAc%G52 zAo49xFEG<>#IY_i(!Ip^G2;x0pD@lu$$R@-6r`6s?ouzILj4p4C*U*eEWnqxCcoV4 zRX;}(J%f8Pu0Xgq2x!0!W*~(&*aLwp1biuFeRu`m@F=>xc*<|FV{wltol)+o_h{tj51Z| zq=|Zzyxrd!7fQUz_?X07jEf}FH$W4MgE&SN%uA$MVO%QFz_?7Jk&!NWp4h~=9Fcc# zM(hkTQJja>>fm7KZhUv#-5ESBoJvRa?FO25#xj}oJeTT)kF zQJpoZ+N+zpI~CZ!K1m;vk*P$R0~UQ{Pp2ZBcyvzvqu$Q2M`^_@{pNk>vBlj@FU-nR zVq=1_im@2=$ND-IbKt_(_w{!w)_7_4c@|aGRO&wra4LzmpmKz###32QT~SjHz4J;G z<4bzKoHik5!OYpIkdyBcTUe1+g(-5#KsZg-D4(ayTT$e#BG*y#guTeie5cxQ@3ypGmha4W6BNjE-^=yk1A{F4VS zJt*jcUyBc}g4@#GfnVdhJc;!QG{}r%ejvBVt-n>;E@D@qK_(u&uA!od9TGR7K2Gk3 zO9NWmZn2N8&^F8n-O3&C^Dvj#&nnYabl^%d2Pz5f8SWN3+hSfpTkzCi+DNxJz-sX( zCvnGUmw1mA)GjNMKhZdj-fg7l%cHDEn3*7oD$Hq z-T`kmIi_%LZ#38sw%Z^?BuPagI$1-*sH|;@NI-o^7ye zj!{-RG|s`wyATL>Jt7?C=+Hd3xTp*7x1wVq!m^Rk)hP{k(KmvV)30^l#CLK>=7`Uu;AV4@e$sbYz{e|-_4n#C6*aV7{qkc2 z6a&3?X-k~p7j)9H;A^{cd1m*dG?^c#%Sm~odO%dOrjI3@} zqcC3K5D7yt#BHbFd6iqw`XiS2u*hAGT{BcKTh%VaX!vP!cUZg5rEgu+E@Db?kSxy+ z*1Pqy>)HieeR`rEx1n9cSD-cg&j1EKSE3g^^R+N}Q7=Cn7J%p7;+MdN>d??}Lx0&+ zqFAr<>rG!5POiKR#c$AOphNu5-f(TRF(R>vFJcPIW+&_JEtv{5?dhsNu`S{X+`r@h z++R0ej<^gd+k;*$F&GU(7el`i@w;(#;c|o_uMJg<0h4$e8rP@5>Ni}9DWFN%kArVZ z?72O-k7#IkwHIKa*y%%Yd!cCXdvmhEXbl92JA?tkWg_-QRL9_Vol5-eSBzfQgxkf7 zMc=z0w@drJav-8~==Hg$d9>ENbn3*E0d4CY-F(v@V zC4x#tu3E%`r`2Ikl={%DcGAPHV*|o_>c&HR%AuhUy;z?m^`Q{i9AfzKr@{sE2&;ZO zo(cz#*zA*}ODNQ2wvTMhj;5t6qLM>b%W%5E`D!&T~Uir!PPo*KW(9byF@b}elj4x4@EMoo#;b#5& diff --git a/GMW/GMW_data/bin/Debug/GMW_data.dll b/GMW/GMW_data/bin/Debug/GMW_data.dll index 45a63e2f805f5e0aef55df57403ea86019911e83..bac0ae6d39e205d922692854f13358cbcc02568a 100644 GIT binary patch delta 109 zcmV-z0FwWJ;5dNbIFN_}t~`N?g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CGVq^g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CG diff --git a/GMW/GMW_data/bin/Debug/SteamWare.dll b/GMW/GMW_data/bin/Debug/SteamWare.dll index 14010e5124a84697a601572baa25674755903e7d..6f9036da1e000c4eca758e70aa869b21f4bb004c 100644 GIT binary patch delta 87 zcmZqpBiissbV3L7TAPT*?$&O`)^4WOZsyi*maW~ao_+#cI_!6Hf-JpO`YByWYJJ_d r{fQsz5_OR3>D^_ll7bhnp6KG6b<$y1nc$Dra$GWu+qagndb0xnC9ESa delta 87 zcmZqpBiissbV3L7+uPxd-L2h>t=&wm-OR1sEL*!-J^chcR4Vps%-QL`S<(ND)9Rbb r+n@NcE>Q=mp59%?Dk&JdG2BJAXQA^}<^Yd7dp>nCZQokP>dg)SlfWfh diff --git a/GMW/GMW_data/bin/Debug/SteamWare.xml b/GMW/GMW_data/bin/Debug/SteamWare.xml index 6809ec2a..64eda3e0 100644 --- a/GMW/GMW_data/bin/Debug/SteamWare.xml +++ b/GMW/GMW_data/bin/Debug/SteamWare.xml @@ -4,5 +4,3161 @@ SteamWare + + + classe gesione log files applicazioni + + + + + directory base x logs + + + + + nome del file corrente + + + + + max mb di log da accumulare + + + + + 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 + + + + + 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 [...]) + + + + + 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 + + + + + + + tipo di log ammesso + + + + + informazioni di debug + + + + + errori + + + + + eccezioni nell'esecuzione try/catch + + + + + errori fatali + + + + + informazioni opzionali + + + + + fase di avvio componente + + + + + avvisi + + + + + 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 + + + + + table adapter lingue + + + + + table adapter vocabolario + + + + + table adapter versione vocabolario + + + + + table adapter versione anagrafica + + + + + 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... + + + + + 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 + + + + + + + + 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... + + + + + 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... + + + + 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 + + + + + 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 + + + + + + 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 + + + + + + + + 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 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 + + + + + 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. + + + + + 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 + + + + + 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 + + + + + + + salvo un valore come cookie + + + + + + + + restituisco un valore da cookie + + + + + + + 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 + + + + + + + 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... + + + + + classe gestione parametri deviceper stampa + + + + + creazione oggetto parametri per stampa + + + + + + + + + + + + formato output + + + + + altezza + + + + + larghezza + + + + + margine Sx + + + + + margine Dx + + + + + margine Top + + + + + margine Bottom + + + + + 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 + + + + + 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 + + + + + definisce un intervalo di 2 date + + + + + data inizio + + + + + data fine + + + + + struttura orario ordinarie/strordinarie + + + + + ore ordinarie + + + + + ore straordinarie + + + + + classe di funzioni inerenti le date + + + + + inizializzazione empty + + + + + 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 + + + + + + + restituisce l'intervallo del mese che comprendela data indicata + + + + + + + restituisce l'intervallo dell'anno corrente per la data indicata + + + + + + + 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 + + + + + + + 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 + + + + + + + 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. + + + + + classe gestione utente: auth e permission/ruoli - versione GENERICA + + + + + cancella da session l'utente + + + + + carica la riga dati utente + + + + + 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 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 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 dominio con metodi get/set + + + + + oggetto modulo (applicazione) con metodi get/set + + + + + oggetto lingua utente con metodi get/set + + + + + 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... + + + + + 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 + + + + + calcola la dim della directory corrente... + + + + + + + elimina il file + vecchio + + + + + + + versione statica (singleton) del'oggetto fileMover + + + + + 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 + + + + + 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) + + + + + 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 + diff --git a/GMW/GMW_data/obj/Debug/GMW_data.dll b/GMW/GMW_data/obj/Debug/GMW_data.dll index 45a63e2f805f5e0aef55df57403ea86019911e83..bac0ae6d39e205d922692854f13358cbcc02568a 100644 GIT binary patch delta 109 zcmV-z0FwWJ;5dNbIFN_}t~`N?g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CGVq^g^B@%iUNg-1BHqNg^C4*iUx&>2Zf3Vg^CG diff --git a/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache b/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache index 44bd51998a370cdce0d668f066f6594dacbd9fa4..14b94e01c1478c09fb9f4e0c2c8bcdea0922eec7 100644 GIT binary patch literal 27478 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 fLEEV4>eUlKmyf9UR^EJQ&()}C*Aca2xpw