diff --git a/XPS/App_Code/DS_applicazione.xsd b/XPS/App_Code/DS_applicazione.xsd index c370b83..1d83922 100644 --- a/XPS/App_Code/DS_applicazione.xsd +++ b/XPS/App_Code/DS_applicazione.xsd @@ -193,6 +193,7 @@ ORDER BY DataArrivo DESC + @@ -208,13 +209,7 @@ ORDER BY DataArrivo DESC - SELECT v_commesse.Cod, v_commesse.Stato, v_commesse.CodCliente, v_commesse.Cliente, v_commesse.CodCli, v_commesse.descrizione, v_commesse.DDT, - v_commesse.DataDDT, v_commesse.DataArrivo, v_commesse.Posizione, v_commesse.Qta, v_commesse.Peso, v_commesse.Righe, v_commesse.Colli, - v_commesse.DataPrevista, v_commesse.CodStato -FROM v_commesse INNER JOIN - Filtro2Stati ON v_commesse.CodStato = Filtro2Stati.CodStato -WHERE (Filtro2Stati.CodFiltro = @CodFiltro) -ORDER BY v_commesse.DataArrivo DESC + SELECT v_commesse.Ciclo, v_commesse.Cliente, v_commesse.Cod, v_commesse.CodCli, v_commesse.CodCliente, v_commesse.CodStato, v_commesse.Colli, v_commesse.DDT, v_commesse.DataArrivo, v_commesse.DataDDT, v_commesse.DataPrevista, v_commesse.Peso, v_commesse.Posizione, v_commesse.Qta, v_commesse.Righe, v_commesse.Stato, v_commesse.descrizione FROM v_commesse INNER JOIN Filtro2Stati ON v_commesse.CodStato = Filtro2Stati.CodStato WHERE (Filtro2Stati.CodFiltro = @CodFiltro) ORDER BY v_commesse.DataArrivo DESC @@ -343,7 +338,18 @@ ORDER BY v_commesse.DataArrivo DESC - + + + + SELECT IdxObj, CodCliente, CodStato, Posizione, Livello, Rev, CodObj, Nome, IdxObjMamma, Note, ExtKey, DueDate, LeadTime, LeadTimeUM, UserCreaz, DataCreaz, UserMod, DataMod FROM dbo.IstObj +where IdxObj=@IdxObj + + + + + + + UPDATE IstObj @@ -358,7 +364,7 @@ WHERE (IdxObj LIKE @IdxObjCommon) AND (Livello = 3) - + UPDATE IstObj @@ -562,6 +568,117 @@ WHERE (IdxObj = @Original_Cod) + + + + + + DELETE FROM [dbo].[TransizioneEventi] WHERE (([codInviato] = @Original_codInviato)) + + + + + + + + INSERT INTO [dbo].[TransizioneEventi] ([codInviato], [prec_codInviato], [IdxTipoEvento], [text2show], [descrComando]) VALUES (@codInviato, @prec_codInviato, @IdxTipoEvento, @text2show, @descrComando) + + + + + + + + + + + + SELECT codInviato, prec_codInviato, IdxTipoEvento, text2show, descrComando FROM dbo.TransizioneEventi + + + + + + UPDATE [dbo].[TransizioneEventi] SET [codInviato] = @codInviato, [prec_codInviato] = @prec_codInviato, [IdxTipoEvento] = @IdxTipoEvento, [text2show] = @text2show, [descrComando] = @descrComando WHERE (([codInviato] = @Original_codInviato)) + + + + + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM [dbo].[AnagraficaEventi] WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) + + + + + + + + INSERT INTO [dbo].[AnagraficaEventi] ([IdxTipoEvento], [Nome]) VALUES (@IdxTipoEvento, @Nome) + + + + + + + + + SELECT IdxTipoEvento, Nome FROM dbo.AnagraficaEventi + + + + + + UPDATE [dbo].[AnagraficaEventi] SET [IdxTipoEvento] = @IdxTipoEvento, [Nome] = @Nome WHERE (([IdxTipoEvento] = @Original_IdxTipoEvento)) + + + + + + + + + + + + + + + + + + SELECT AnagraficaEventi.IdxTipoEvento, AnagraficaEventi.Nome +FROM AnagraficaEventi INNER JOIN + TransizioneEventi ON AnagraficaEventi.IdxTipoEvento = TransizioneEventi.IdxTipoEvento +WHERE (TransizioneEventi.codInviato = @codInviato) + + + + + + + + @@ -710,6 +827,13 @@ WHERE (IdxObj = @Original_Cod) + + + + + + + @@ -979,6 +1103,55 @@ WHERE (IdxObj = @Original_Cod) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1010,12 +1183,21 @@ WHERE (IdxObj = @Original_Cod) + + + + + + + + + \ No newline at end of file diff --git a/XPS/App_Code/DS_applicazione.xss b/XPS/App_Code/DS_applicazione.xss index 8557ba8..279ed02 100644 --- a/XPS/App_Code/DS_applicazione.xss +++ b/XPS/App_Code/DS_applicazione.xss @@ -4,19 +4,21 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + - - - - - - - - + + + + + + + + + + - + 927 @@ -28,11 +30,11 @@ - + 1116 - 384 + 401 1116 @@ -40,7 +42,7 @@ - + 689 @@ -52,5 +54,17 @@ + + + + 1162 + 923 + + + 1162 + 823 + + + \ No newline at end of file diff --git a/XPS/Appunti.txt b/XPS/Appunti.txt index f4b5449..b821541 100644 --- a/XPS/Appunti.txt +++ b/XPS/Appunti.txt @@ -16,7 +16,7 @@ OK + override con click method e lasciare selected OK + mostrare un panel con i dettagli data/ora e pulsante di salvataggio che prende selected + altro x salvare query... OK - segreteria OK - admin (da magazzino... con altri editing & co...) - - barcode da web? +OK - barcode da web? - avanzamento stato: obj mamma ha stato min tra i vari child... + in visualizzazione mostrare stato min e Max ------------------------------------------------ @@ -31,17 +31,18 @@ OK - 2 label - icone diverse?!? - cosa può fare ogni funzione? OK - magazzino: crea, aggiunge righe/ULP e cancella e modifica descrizione fino a quando approva, poi è fuori dal gioco... - - indica spedito con barcode +OK - indica spedito con barcode OK - direzione: OK - può cambiare lo stato... OK - prod: OK - indica DueDate in massa o per ogni ULP - segreteria: + - indica che è stato fatturato con pulsante ------------------------------------------------ - 20081025 ------------------------------------------------ -- obbligatorio dire fosfatazione/brunitura +OK - obbligatorio dire fosfatazione/brunitura (usato ExtKey) - fare 2 schede: 1 fosf/brun - elenco mostra sempre da oggi in poi - nelle schede x giorno riportare elenco comm + scadute diff --git a/XPS/Bin/SteamWare.XML b/XPS/Bin/SteamWare.XML index 6809ec2..c877e5b 100644 --- a/XPS/Bin/SteamWare.XML +++ b/XPS/Bin/SteamWare.XML @@ -4,5 +4,2376 @@ SteamWare + + + 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 + + + + + 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}" + + + + + inserisce l'evento indicato dai parametri + + datetime dell'evento + 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... + + datetime della nota utente + 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 + + + + + metodo di comportamento del controllo di logging + + + + + 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 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 + + + + + Represents the connection and commands used to retrieve and save data. + + + + + Represents the connection and commands used to retrieve and save data. + + + + + 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 + + cartella di lavoro + + + + metodo di avvio empty + + + + + 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 + + + + + + elimina la directory di lavoro se è dir virtuale mappata + + + + + + + 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... + + + + + + + + + imposta la dir di lavoro + + + + + + + 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 + + + + + versione statica (singleton) del'oggetto fileMover + + + + + classe di wrap verso i TableAdapter impiegati + + + + + metodo protected di avvio della classe + + + + + procedura di avvio dei tableAdapter + + + + + 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 + + + + + oggetto volabolario 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... + + + + + 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 + + + + enumeratore modalità login + + + + + login AD normale + + + + + forza utente fornendo password + + + + + 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 + + + + + tipo di immagini usate per le icone di comando in web applications + + + + + dimensione immagini usate per le icone di comando in web applications + + + + + classe per effettuare confronto tra valori disomogeneri per tipo e costruire diff testuali + + + + + 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 di gestione lettura + + + + + 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 + + + + + + disegna la leggenda html laterale... + + + + + + disegna piechart 2-dim + + + + + + disegna piechart 3d ellittica + + + + + + traduce la stringa colore in oggetto colore + + + + + + + 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 + + + + + + + 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... + + + + + definisce un intervalo di 2 date + + + + + struttura orario ordinarie/strordinarie + + + + + 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 + + + + + + + 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 + + + + 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 + + + + + + + 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 + + + + + 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" + + + + + 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 + + + + + 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 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. + + + + + 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 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 + + + + + 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 + + + + + + + Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati + + + + + 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 datto modulo ed username + + + + + + + + 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 "," + + + + 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... + + + + + 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 + + + + + calcola la dim di una directory + + + + + + + fornisce il file + vecchio + + + + + + + tipo di log ammesso + + + + + 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... + + diff --git a/XPS/Bin/SteamWare.dll b/XPS/Bin/SteamWare.dll index a826e24..2b26e26 100644 Binary files a/XPS/Bin/SteamWare.dll and b/XPS/Bin/SteamWare.dll differ diff --git a/XPS/Bin/SteamWare.pdb b/XPS/Bin/SteamWare.pdb index 60cd5c0..bf69cb1 100644 Binary files a/XPS/Bin/SteamWare.pdb and b/XPS/Bin/SteamWare.pdb differ diff --git a/XPS/Bin/SteamWareXPS.XML b/XPS/Bin/SteamWareXPS.XML index edee1c2..285187b 100644 --- a/XPS/Bin/SteamWareXPS.XML +++ b/XPS/Bin/SteamWareXPS.XML @@ -4,5 +4,215 @@ SteamWareXPS + + + 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 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 + + + + + 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. + + + + + classe wrapper di accesso ai dati + + + + + avvio componenti + + + + + avvio dei vari oggetti esposti + + + + + effettua setup dei connection strings da web.config delal singola applicazione + + + + + singleton di accesso ai dati di tracking + + diff --git a/XPS/Bin/SteamWareXPS.dll b/XPS/Bin/SteamWareXPS.dll index 55b87ad..91d554a 100644 Binary files a/XPS/Bin/SteamWareXPS.dll and b/XPS/Bin/SteamWareXPS.dll differ diff --git a/XPS/Bin/SteamWareXPS.pdb b/XPS/Bin/SteamWareXPS.pdb index 3d90df6..cf00570 100644 Binary files a/XPS/Bin/SteamWareXPS.pdb and b/XPS/Bin/SteamWareXPS.pdb differ diff --git a/XPS/Style.css b/XPS/Style.css index 6f24a00..de633d6 100644 --- a/XPS/Style.css +++ b/XPS/Style.css @@ -30,7 +30,11 @@ text-align: right; vertical-align: bottom; } - +.barcodeFont +{ + font-family:@Free 3 of 9 Extended; + font-size: 60pt; +} /*Popup Control*/ .popupControl diff --git a/XPS/Web.config b/XPS/Web.config index b93d682..8dd6afc 100644 --- a/XPS/Web.config +++ b/XPS/Web.config @@ -98,7 +98,7 @@ - + diff --git a/XPS/barcode.aspx b/XPS/barcode.aspx new file mode 100644 index 0000000..1dbe975 --- /dev/null +++ b/XPS/barcode.aspx @@ -0,0 +1,8 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxTitle.master" AutoEventWireup="true" CodeFile="barcode.aspx.cs" Inherits="barcode" %> + +<%@ Register src="mod_barcode.ascx" tagname="mod_barcode" tagprefix="uc1" %> + + + + + diff --git a/XPS/barcode.aspx.cs b/XPS/barcode.aspx.cs new file mode 100644 index 0000000..fd661d4 --- /dev/null +++ b/XPS/barcode.aspx.cs @@ -0,0 +1,177 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; + +public partial class barcode : System.Web.UI.Page +{ + protected void Page_Load(object sender, EventArgs e) + { + setupComandiBarcode(); + setupValoriBarcode(); + mod_barcode1.eh_comandoRegistrato += new EventHandler(mod_barcode1_eh_comandoRegistrato); + } + /// + /// effettuo il setup dei valori ammessi x il barcode... + /// + private void setupValoriBarcode() + { + DS_applicazioneTableAdapters.v_commesseTableAdapter taCommesse = new DS_applicazioneTableAdapters.v_commesseTableAdapter(); + DS_applicazione.v_commesseDataTable _tabComm = taCommesse.GetData(); + Dictionary valori = new Dictionary(); + foreach (DS_applicazione.v_commesseRow riga in _tabComm) + { + valori.Add(riga.Cod.ToString(), string.Format("{0}
{1} DDT {2} del {3:dd MMM yyyy}
{4} colli ({5} kg)
{6}", riga.Cod, riga.Cliente, riga.DDT, riga.DataDDT, riga.Colli, riga.Peso, riga.Stato)); + } + // assegno valori al barcode... + mod_barcode1.tabValori = valori; + } + /// + /// carico da tab i comandi ammessi per il barcode... + /// + private void setupComandiBarcode() + { + DS_applicazioneTableAdapters.TransizioneEventiTableAdapter taTran = new DS_applicazioneTableAdapters.TransizioneEventiTableAdapter(); + DS_applicazione.TransizioneEventiDataTable _tabTran = taTran.GetData(); + Dictionary comandi = new Dictionary(); + foreach (DS_applicazione.TransizioneEventiRow riga in _tabTran) + { + comandi.Add(riga.codInviato, user_std.UtSn.Traduci(riga.text2show)); + } + // impongo i comandi al barcode... + mod_barcode1.comandiAmmessi = comandi; + } + /// + /// il barcode ha registrato un evento... + /// + /// + /// + void mod_barcode1_eh_comandoRegistrato(object sender, EventArgs e) + { + // lookUp tabella transizione... + string toDo = ""; + DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter taAE = new DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter(); + try + { + toDo = taAE.getByCodInviato(mod_barcode1.comandoRegistrato.currCmdIn)[0].Nome; + } + catch + { } + // in base al contenuto del comando scelgo cosa fare... + switch (toDo) + { + case "Barcode - cambio stato": + if (mod_barcode1.comandoRegistrato.valore != "") + { + mod_barcode1.txtRich2show = user_std.UtSn.Traduci("pleaseConfirm"); + } + else + { + mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); + } + break; + case "Barcode - interrogazione": + mod_barcode1.txtRich2show = user_std.UtSn.Traduci("pleaseConfirm"); + break; + case "Barcode - conferma": + // se input completo eseguo... + if (mod_barcode1.comandoRegistrato.currCmdIn != "" && mod_barcode1.comandoRegistrato.valore != "") + { + eseguiComando(); + }// altrimenti warning.. + else + { + mod_barcode1.txtRich2show = user_std.UtSn.Traduci("codObjUnknown"); + mod_barcode1.comandoRegistrato.currCmdIn = mod_barcode1.comandoRegistrato.prevCmdIn; + mod_barcode1.comandoRegistrato.descrComando = mod_barcode1.comandoRegistrato.descrComandoPrev; + mod_barcode1.txtInput2show = mod_barcode1.comandoRegistrato.descrComandoPrev; + } + break; + case "Barcode - reset": + mod_barcode1.resetMe(); + break; + default: + break; + } + } + /// + /// eseguo il comando + /// + private void eseguiComando() + { + // lookUp tabella transizione... + string toDo = ""; + DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter taAE = new DS_applicazioneTableAdapters.AnagraficaEventiTableAdapter(); + try + { + toDo = taAE.getByCodInviato(mod_barcode1.comandoRegistrato.prevCmdIn)[0].Nome; + } + catch + { } + DS_applicazioneTableAdapters.IstObjTableAdapter taIstObj = new DS_applicazioneTableAdapters.IstObjTableAdapter(); + string msg2show = ""; + // in base al contenuto del comando scelgo cosa fare... + switch (toDo) + { + case "Barcode - cambio stato": + // verifico se lo stato sia corretto (cioè successivo a quello corrente...) + if (chkCommandValid(mod_barcode1.comandoRegistrato.valore, mod_barcode1.comandoRegistrato.prevCmdIn)) + { + string codObjCommon = mod_barcode1.comandoRegistrato.valore.Replace("D", "%"); + XPS.obj.taObj.UpdStatoTree(mod_barcode1.comandoRegistrato.prevCmdIn, user_std.UtSn.utente, DateTime.Now, codObjCommon); + msg2show = string.Format("{0}: {1}", mod_barcode1.comandoRegistrato.valore, user_std.UtSn.Traduci("chgStateDone")); + } + else // altrimenti segnalo errore... + { + msg2show = user_std.UtSn.Traduci("cannotStateChange"); + } + break; + case "Barcode - interrogazione": + // mostro il dettaglio direttamente in detComm.aspx +#if false + // mostro timbrature... + // apro maschera dipendenti + LogAccessi childForm = new LogAccessi(); + childForm.MdiParent = this.ParentForm; + childForm.Text = "Log accessi dipendenti"; + childForm.ricerca = mod_barcode1.comandoRegistrato.valoreTrad; + childForm.Show(); +#endif + break; + default: + break; + } + mod_barcode1.resetMe(); + if (msg2show != "") mod_barcode1.txtInput2show = msg2show; + } + /// + /// verifica se il comando richiesto sia corretto, ovvero che si stia avanzando di 1 solo stato rispetto a quello corrente... + /// + /// + /// + /// + /// + protected bool chkCommandValid(string codObj, string reqState) + { + bool answ = false; + string currState = ""; + // calcolo lo stato dell'oggetto... + try + { + currState = XPS.obj.taObj.getByIdxObj(codObj)[0].CodStato; + if ((Convert.ToInt32(currState.Substring(0, 2)) + 1) == Convert.ToInt32(reqState.Substring(0, 2))) answ = true; + } + catch + { } + // guardo se lo stato sia quello appena prima + return answ; + } + + protected override void OnUnload(EventArgs e) + { + base.OnUnload(e); + mod_barcode1.eh_comandoRegistrato -= new EventHandler(mod_barcode1_eh_comandoRegistrato); + } +} diff --git a/XPS/elencoBarcode.aspx b/XPS/elencoBarcode.aspx new file mode 100644 index 0000000..afe45bb --- /dev/null +++ b/XPS/elencoBarcode.aspx @@ -0,0 +1,8 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/Standard.master" AutoEventWireup="true" CodeFile="elencoBarcode.aspx.cs" Inherits="elencoBarcode" %> + +<%@ Register src="mod_elencoBarcode.ascx" tagname="mod_elencoBarcode" tagprefix="uc1" %> + + + + + diff --git a/XPS/elencoBarcode.aspx.cs b/XPS/elencoBarcode.aspx.cs new file mode 100644 index 0000000..21f2d7b --- /dev/null +++ b/XPS/elencoBarcode.aspx.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class elencoBarcode : System.Web.UI.Page +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} diff --git a/XPS/logs/20081029.txt b/XPS/logs/20081029.txt index bbb44a2..0ef373e 100644 --- a/XPS/logs/20081029.txt +++ b/XPS/logs/20081029.txt @@ -8,3 +8,16 @@ 29/10/2008 12.08.02 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente 29/10/2008 12.23.52 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente 29/10/2008 13.32.10 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 13.55.34 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 14.13.49 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 15.13.11 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 15.32.01 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 15.36.35 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 15.38.05 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 15.42.14 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 16.10.00 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 16.31.43 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 16.51.47 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 16.55.51 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 17.17.39 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente +29/10/2008 17.23.19 [INFO] - L'utente Locatelli Samuele (VOSTRO410\Administrator) ha effettuato il login correttamente diff --git a/XPS/mod_barcode.ascx b/XPS/mod_barcode.ascx new file mode 100644 index 0000000..d29806f --- /dev/null +++ b/XPS/mod_barcode.ascx @@ -0,0 +1,16 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_barcode.ascx.cs" Inherits="mod_barcode" %> +
+
+ +
+
+ +
+
+ +
+
+ +
+
diff --git a/XPS/mod_barcode.ascx.cs b/XPS/mod_barcode.ascx.cs new file mode 100644 index 0000000..6dc587d --- /dev/null +++ b/XPS/mod_barcode.ascx.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; + +public partial class mod_barcode : ApplicationUserControl +{ + #region area protected + + /// + /// dictionary comandi ammessi + /// + protected Dictionary _comandi = new Dictionary(); + /// + /// dictionary dei valori ammessi + /// + protected Dictionary _tabValori = new Dictionary(); + /// + /// oggetto comando locale alla classe + /// + protected inputComando comando + { + get + { + inputComando answ; + if (memLayer.ML.isInSessionObject("barcodeCmd")) + { + answ = (inputComando)memLayer.ML.objSessionObj("barcodeCmd"); + } + else + { + answ = new inputComando(); + } + return answ; + } + set + { + memLayer.ML.setSessionVal("barcodeCmd", value, false); + } + } + /// + /// al caricamento della pagina... + /// + /// + /// + protected override void Page_Load(object sender, EventArgs e) + { + base.Page_Load(sender, e); + myInitialize(); + } + /// + /// inizializzazione specifica barcode + /// + private void myInitialize() + { + lblInput.Text = traduci("PregoInserireBarcode"); + if (!Page.IsPostBack) comando = new inputComando(); + txtComando.Focus(); + } + /// + /// barcode completato con invio... + /// + /// + /// + protected void txtComando_TextChanged(object sender, EventArgs e) + { + // verifico se sia un comando o un valore valido... + isInputEvent(); + isValore(); + // verifico se c'è stato input evento + if (comando.isValid) + { + if (comando.currCmdIn != "") + { + txtInput2show = comando.descrComando; + } + else + { + txtInput2show = "---"; + } + if (comando.valore != "") + { + txtVal2show = comando.valoreTrad; + } + else + { + txtVal2show = "---"; + } + if (eh_comandoRegistrato != null) + { + eh_comandoRegistrato(this, new EventArgs()); + } + } + else + { + lblInput.Text = traduci("ComandoSconosciuto"); + lblValore.Text = txtComando.Text; + comando = new inputComando(); + } + txtComando.Text = ""; + } + /// + /// verifico se sia un valore compreso nell'elenco fornito + /// + private void isValore() + { + if (_tabValori.ContainsKey(txtComando.Text)) // verifico se il comando digitato esista... + { + comando.isValid = true; + comando.valore = txtComando.Text; + _tabValori.TryGetValue(txtComando.Text, out comando.valoreTrad); + } + } + /// + /// verifica se il comando inserito sia valido + /// + private void isInputEvent() + { + if (_comandi.ContainsKey(txtComando.Text)) // verifico se il comando digitato esista... + { + comando.isValid = true; + // salvo comando precedente (se c'è...) + comando.prevCmdIn = comando.currCmdIn; + comando.descrComandoPrev = comando.descrComando; + comando.currCmdIn = txtComando.Text; + _comandi.TryGetValue(txtComando.Text, out comando.descrComando); + } + } + + #endregion + + #region area public + + /// + /// elenco dei comandi riconosciuti + /// + public Dictionary comandiAmmessi + { + get + { + return _comandi; + } + set + { + _comandi = value; + } + } + /// + /// tabella di valori ammissibili + /// + public Dictionary tabValori + { + get + { + return _tabValori; + } + set + { + _tabValori = value; + } + } + /// + /// evento comando registrato + /// + public event EventHandler eh_comandoRegistrato; + /// + /// comando registrato dal barcode + /// + public inputComando comandoRegistrato + { + get + { + return comando; + } + } + /// + /// scrive nella label input + /// + public string txtInput2show + { + set + { + lblInput.Text = value; + } + } + /// + /// scrive nella label valore + /// + public string txtVal2show + { + set + { + lblValore.Text = value; + } + } + /// + /// scrive nella label richiesta + /// + public string txtRich2show + { + set + { + lblRichiesta.Text = value; + } + } + /// + /// reset del controllo + /// + public void resetMe() + { + comando = new inputComando(); + txtInput2show = "Prego inserire barcode"; + txtVal2show = ""; + txtRich2show = ""; + } + + #endregion +} diff --git a/XPS/mod_elencoBarcode.ascx b/XPS/mod_elencoBarcode.ascx new file mode 100644 index 0000000..83ddf21 --- /dev/null +++ b/XPS/mod_elencoBarcode.ascx @@ -0,0 +1,39 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_elencoBarcode.ascx.cs" + Inherits="mod_elencoBarcode" %> +
+ + + + + + +
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/XPS/mod_elencoBarcode.ascx.cs b/XPS/mod_elencoBarcode.ascx.cs new file mode 100644 index 0000000..64df450 --- /dev/null +++ b/XPS/mod_elencoBarcode.ascx.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class mod_elencoBarcode : System.Web.UI.UserControl +{ + protected void Page_Load(object sender, EventArgs e) + { + + } + /// + /// formatta correttamente per stampa barcode + /// + /// + /// + public string barcodeFormat(object valore) + { + return string.Format("*{0}*", valore); + } +} diff --git a/XPS/mod_elencoComm.ascx b/XPS/mod_elencoComm.ascx index 566ed60..6dfe933 100644 --- a/XPS/mod_elencoComm.ascx +++ b/XPS/mod_elencoComm.ascx @@ -32,15 +32,15 @@ - - + + - - + + Brunitura + Fosfatazione + - - @@ -48,6 +48,16 @@ + + + + + + + + + + @@ -58,9 +68,7 @@ TargetControlID="txtDataDDT" Format="dd/MM/yyyy"> - - - + @@ -109,6 +117,7 @@ Target="_blank" ToolTip='<%# traduci("stampaBarcode") %>' /> + @@ -121,7 +130,7 @@ - @@ -191,8 +200,7 @@    - + @@ -201,12 +209,11 @@

- + - + @@ -216,8 +223,7 @@    - +
diff --git a/XPS/mod_elencoComm.ascx.cs b/XPS/mod_elencoComm.ascx.cs index 99d4012..afbc111 100644 --- a/XPS/mod_elencoComm.ascx.cs +++ b/XPS/mod_elencoComm.ascx.cs @@ -193,6 +193,7 @@ public partial class mod_elencoComm : ApplicationUserControl lblNumDDT.Text = traduci("lblNumDDT"); lblDataDDT.Text = traduci("lblDataDDT"); lblDescr.Text = traduci("lblDescr"); + lblCicloEqua.Text = traduci("lblCicloEqua"); lblDataPrev.Text = traduci("updateAllObjChild"); txtDueDate.Text = DateTime.Now.AddDays(memLayer.ML.confReadint("defDayLeadTime")).ToString("dd/MM/yyyy"); btnCancel.Text = traduci("btnCancel"); @@ -248,7 +249,7 @@ public partial class mod_elencoComm : ApplicationUserControl catch { } // creazione di un nuovo set... - taComm.sp_creaSetObj(string.Format("{0:yyMMdd}{1:00}", DateTime.Now, nextIdx), "EQUA", mf_cliNew.valore, txtDDT.Text, Convert.ToDateTime(txtDataDDT.Text), "", user_std.UtSn.utente, txtDescr.Text); + taComm.sp_creaSetObj(string.Format("{0:yyMMdd}{1:00}", DateTime.Now, nextIdx), "EQUA", mf_cliNew.valore, txtDDT.Text, Convert.ToDateTime(txtDataDDT.Text), ddlCiclo.SelectedValue, user_std.UtSn.utente, txtDescr.Text); // nascondo tutto... txtDDT.Text = ""; txtDataDDT.Text = "";