diff --git a/GMW/GMW_Term/Style.css b/GMW/GMW_Term/Style.css index f03353c7..97b967ef 100644 --- a/GMW/GMW_Term/Style.css +++ b/GMW/GMW_Term/Style.css @@ -190,6 +190,17 @@ font-weight:bold; white-space:pre; } +.btnRiattiva +{ + display: block; + width: 70px; + height:40px; + border: solid 2px red; + background-color: #FFCCFF; + font-size:x-small; + font-weight:bold; + white-space:pre; +} .btnConferma { display: block; diff --git a/GMW/GMW_Term/Web.config b/GMW/GMW_Term/Web.config index a6577963..15e82c48 100644 --- a/GMW/GMW_Term/Web.config +++ b/GMW/GMW_Term/Web.config @@ -58,7 +58,7 @@ - + diff --git a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx index 1cf5adcc..c9be9a6c 100644 --- a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx +++ b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx @@ -23,6 +23,9 @@
+
+ +
diff --git a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.cs index efdd34ae..dbf2c5a1 100644 --- a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.cs @@ -276,6 +276,15 @@ namespace GMW_Term.WebUserControls { btnPreleva.Visible = false; } + // controllo se il riattiva sia possibile, ovvero se è in un mag con riattiva enabled... + if (MagClass.magazzino.udcIsRiattivabile(_UDC)) + { + btnRiattiva.Visible = true; + } + else + { + btnRiattiva.Visible = false; + } // setup ulteriori pulsanti setupBtnDelibere(); setupBtnChiudi(); @@ -413,6 +422,9 @@ namespace GMW_Term.WebUserControls btnConferma.AccessKey = "2"; btnCellaPiena.Text = traduci("OkFull") + "\n[Alt+4]"; btnCellaPiena.AccessKey = "4"; + // gestione riattivazione + btnRiattiva.Text = traduci("RiattivaUdc") + "\n[Alt+8]"; + btnRiattiva.AccessKey = "8"; } /// /// wrapper traduzione termini @@ -715,6 +727,16 @@ namespace GMW_Term.WebUserControls setupIniziale(); } /// + /// riattiva l'UDC corrente (-84 --> 84)... + /// + /// + /// + protected void btnRiattiva_Click(object sender, EventArgs e) + { + // chiamo la procedura di riattivazione x l'UDC + MagClass.magazzino.riattivaUdc(_UDC, MagClass.magazzino.CodSoggCurrUser); + } + /// /// passa al barcode! /// /// diff --git a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.designer.cs b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.designer.cs index 3449641c..2b201f6c 100644 --- a/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.designer.cs +++ b/GMW/GMW_Term/WebUserControls/mod_btnUdc.ascx.designer.cs @@ -85,6 +85,15 @@ namespace GMW_Term.WebUserControls { /// protected global::System.Web.UI.WebControls.Button btnPreleva; + /// + /// btnRiattiva control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnRiattiva; + /// /// pnlInput control. /// diff --git a/GMW/GMW_Term/bin/GMW_Term.dll b/GMW/GMW_Term/bin/GMW_Term.dll index 153e1421..e1899a60 100644 Binary files a/GMW/GMW_Term/bin/GMW_Term.dll and b/GMW/GMW_Term/bin/GMW_Term.dll differ diff --git a/GMW/GMW_Term/bin/GMW_data.dll b/GMW/GMW_Term/bin/GMW_data.dll index fc7bc733..902d1700 100644 Binary files a/GMW/GMW_Term/bin/GMW_data.dll and b/GMW/GMW_Term/bin/GMW_data.dll differ diff --git a/GMW/GMW_Term/bin/SteamWare.XML b/GMW/GMW_Term/bin/SteamWare.XML index 6809ec2a..4d866de1 100644 --- a/GMW/GMW_Term/bin/SteamWare.XML +++ b/GMW/GMW_Term/bin/SteamWare.XML @@ -4,5 +4,3191 @@ 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 + + + + + log dei lemmi invocati per traduzione da vocabolario + + + + + 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 + + + + + modalità di esecuzione applicativi + + + + + modalità normale + + + + + modalità debug + + + + + salvataggio di tutti i lemmi tradotti + + + + + 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 + + + + + oggetto runMode corrente + + + + + restituisce true se utente forzato da forceUser.aspx + + + + + restituisce i valori della riga utente da db + + + + + restituisce una stringa formattata con cognome, nome e matricola + + + + + restituisce una stringa della sigla dell'utente + + + + + restituisce una stringa formattata con cognome e nome + + + + + restituisce una stringa formattata con cognome + + + + + restituisce una stringa formattata con nome + + + + + fornisce un file XML della mappa del sito abilitato per l'utente... + + + + + è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza... + + + + + 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 e6ea3f5d..963ec1b8 100644 Binary files a/GMW/GMW_Term/bin/SteamWare.dll and b/GMW/GMW_Term/bin/SteamWare.dll differ diff --git a/GMW/GMW_Term/mazzAppSettings.config b/GMW/GMW_Term/mazzAppSettings.config index 2ba7ed00..f851af71 100644 --- a/GMW/GMW_Term/mazzAppSettings.config +++ b/GMW/GMW_Term/mazzAppSettings.config @@ -7,7 +7,7 @@ - + diff --git a/GMW/GMW_Term/obj/Debug/GMW_Term.dll b/GMW/GMW_Term/obj/Debug/GMW_Term.dll index 9113d441..f5fc3d46 100644 Binary files a/GMW/GMW_Term/obj/Debug/GMW_Term.dll and b/GMW/GMW_Term/obj/Debug/GMW_Term.dll differ diff --git a/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache b/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache index 80591cf1..9156c646 100644 Binary files a/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache and b/GMW/GMW_Term/obj/Debug/ResolveAssemblyReference.cache differ diff --git a/GMW/GMW_Term_installer/GMW_Term_installer.vdproj b/GMW/GMW_Term_installer/GMW_Term_installer.vdproj index fda2a174..a23a964b 100644 --- a/GMW/GMW_Term_installer/GMW_Term_installer.vdproj +++ b/GMW/GMW_Term_installer/GMW_Term_installer.vdproj @@ -330,14 +330,14 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:GMW_Term" - "ProductCode" = "8:{4E2352E2-8A1B-46A8-8E8A-A8B9EFF41B23}" - "PackageCode" = "8:{7392B025-C522-42F0-AADE-8D8BF66DFB03}" + "ProductCode" = "8:{BE3DD215-7264-4D73-A5D0-BF945DA31FC0}" + "PackageCode" = "8:{A0EE4CB7-B344-41B2-A88B-E23FC88143BD}" "UpgradeCode" = "8:{B348C50D-8DAD-4430-AEF0-60800C94CB78}" "RestartWWWService" = "11:TRUE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.290" + "ProductVersion" = "8:1.0.300" "Manufacturer" = "8:SteamWare s.r.l." "ARPHELPTELEPHONE" = "8:+39-035460560" "ARPHELPLINK" = "8:http://www.steamware.net" @@ -810,7 +810,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_9C1BA08A590A44EC9515C0F91AD50A1D" { - "SourcePath" = "8:..\\..\\SetDirectoryPermission\\obj\\Release\\SetDirectoryPermission.exe" + "SourcePath" = "8:..\\..\\SetDirectoryPermission\\obj\\Debug\\SetDirectoryPermission.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_A89965CB827F476CB8D496FFFC9653DF" @@ -838,7 +838,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_B0271B832DBE45F0B50639E61DAE3CF4" { - "SourcePath" = "8:..\\..\\IISCustomActionVB\\IISConsoleVB\\obj\\Release\\IISConsoleVB.exe" + "SourcePath" = "8:..\\..\\IISCustomActionVB\\IISConsoleVB\\obj\\Debug\\IISConsoleVB.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_A89965CB827F476CB8D496FFFC9653DF" diff --git a/GMW/GMW_Term_installer/Release/GMW_Term_installer.msi b/GMW/GMW_Term_installer/Release/GMW_Term_installer.msi index 10a4b1b6..7fa9bfb7 100644 Binary files a/GMW/GMW_Term_installer/Release/GMW_Term_installer.msi and b/GMW/GMW_Term_installer/Release/GMW_Term_installer.msi differ diff --git a/GMW/GMW_data/DS_magazzino.Designer.cs b/GMW/GMW_data/DS_magazzino.Designer.cs index 3a197393..759afe5f 100644 --- a/GMW/GMW_data/DS_magazzino.Designer.cs +++ b/GMW/GMW_data/DS_magazzino.Designer.cs @@ -7221,6 +7221,8 @@ namespace GMW_data { private global::System.Data.DataColumn columnDescPosizione; + private global::System.Data.DataColumn columnIsRiattivaEnabled; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public AnagPosizioniDataTable() { this.TableName = "AnagPosizioni"; @@ -7265,6 +7267,13 @@ namespace GMW_data { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn IsRiattivaEnabledColumn { + get { + return this.columnIsRiattivaEnabled; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Browsable(false)] public int Count { @@ -7294,11 +7303,12 @@ namespace GMW_data { } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - public AnagPosizioniRow AddAnagPosizioniRow(int IdxPosizione, string DescPosizione) { + public AnagPosizioniRow AddAnagPosizioniRow(int IdxPosizione, string DescPosizione, bool IsRiattivaEnabled) { AnagPosizioniRow rowAnagPosizioniRow = ((AnagPosizioniRow)(this.NewRow())); object[] columnValuesArray = new object[] { IdxPosizione, - DescPosizione}; + DescPosizione, + IsRiattivaEnabled}; rowAnagPosizioniRow.ItemArray = columnValuesArray; this.Rows.Add(rowAnagPosizioniRow); return rowAnagPosizioniRow; @@ -7326,6 +7336,7 @@ namespace GMW_data { internal void InitVars() { this.columnIdxPosizione = base.Columns["IdxPosizione"]; this.columnDescPosizione = base.Columns["DescPosizione"]; + this.columnIsRiattivaEnabled = base.Columns["IsRiattivaEnabled"]; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -7334,6 +7345,8 @@ namespace GMW_data { base.Columns.Add(this.columnIdxPosizione); this.columnDescPosizione = new global::System.Data.DataColumn("DescPosizione", typeof(string), null, global::System.Data.MappingType.Element); base.Columns.Add(this.columnDescPosizione); + this.columnIsRiattivaEnabled = new global::System.Data.DataColumn("IsRiattivaEnabled", typeof(bool), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnIsRiattivaEnabled); this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { this.columnIdxPosizione}, true)); this.columnIdxPosizione.AllowDBNull = false; @@ -13035,6 +13048,21 @@ namespace GMW_data { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public bool IsRiattivaEnabled { + get { + try { + return ((bool)(this[this.tableAnagPosizioni.IsRiattivaEnabledColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'IsRiattivaEnabled\' in table \'AnagPosizioni\' is DBNull.", e); + } + } + set { + this[this.tableAnagPosizioni.IsRiattivaEnabledColumn] = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public bool IsDescPosizioneNull() { return this.IsNull(this.tableAnagPosizioni.DescPosizioneColumn); @@ -13045,6 +13073,16 @@ namespace GMW_data { this[this.tableAnagPosizioni.DescPosizioneColumn] = global::System.Convert.DBNull; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public bool IsIsRiattivaEnabledNull() { + return this.IsNull(this.tableAnagPosizioni.IsRiattivaEnabledColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public void SetIsRiattivaEnabledNull() { + this[this.tableAnagPosizioni.IsRiattivaEnabledColumn] = global::System.Convert.DBNull; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] public ElencoCartelliniRow[] GetElencoCartelliniRows() { if ((this.Table.ChildRelations["FK_ElencoCartellini_AnagPosizioni"] == null)) { @@ -23775,34 +23813,38 @@ SELECT CodLista, UDC, Qta, Proposto, Prelevato FROM RigheListePrelievo WHERE (Co tableMapping.DataSetTable = "AnagPosizioni"; tableMapping.ColumnMappings.Add("IdxPosizione", "IdxPosizione"); tableMapping.ColumnMappings.Add("DescPosizione", "DescPosizione"); + tableMapping.ColumnMappings.Add("IsRiattivaEnabled", "IsRiattivaEnabled"); this._adapter.TableMappings.Add(tableMapping); this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.DeleteCommand.Connection = this.Connection; - this._adapter.DeleteCommand.CommandText = "DELETE FROM [dbo].[AnagPosizioni] WHERE (([IdxPosizione] = @Original_IdxPosizione" + - ") AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizion" + - "e] = @Original_DescPosizione)))"; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[AnagPosizioni] WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione)) AND ((@IsNull_IsRiattivaEnabled = 1 AND [IsRiattivaEnabled] IS NULL) OR ([IsRiattivaEnabled] = @Original_IsRiattivaEnabled)))"; this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_IdxPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IdxPosizione", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DescPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DescPosizione", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_IsRiattivaEnabled", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_IsRiattivaEnabled", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.InsertCommand.Connection = this.Connection; - this._adapter.InsertCommand.CommandText = "INSERT INTO [dbo].[AnagPosizioni] ([IdxPosizione], [DescPosizione]) VALUES (@IdxP" + - "osizione, @DescPosizione);\r\nSELECT IdxPosizione, DescPosizione FROM AnagPosizion" + - "i WHERE (IdxPosizione = @IdxPosizione)"; + this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[AnagPosizioni] ([IdxPosizione], [DescPosizione], [IsRiattivaEnabled]) VALUES (@IdxPosizione, @DescPosizione, @IsRiattivaEnabled); +SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione)"; this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IdxPosizione", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DescPosizione", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsRiattivaEnabled", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.UpdateCommand.Connection = this.Connection; - this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[AnagPosizioni] SET [IdxPosizione] = @IdxPosizione, [DescPosizione] = @DescPosizione WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione))); -SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione)"; + this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[AnagPosizioni] SET [IdxPosizione] = @IdxPosizione, [DescPosizione] = @DescPosizione, [IsRiattivaEnabled] = @IsRiattivaEnabled WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione)) AND ((@IsNull_IsRiattivaEnabled = 1 AND [IsRiattivaEnabled] IS NULL) OR ([IsRiattivaEnabled] = @Original_IsRiattivaEnabled))); +SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione)"; this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IdxPosizione", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DescPosizione", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsRiattivaEnabled", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_IdxPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IdxPosizione", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_DescPosizione", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_DescPosizione", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "DescPosizione", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_IsRiattivaEnabled", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_IsRiattivaEnabled", global::System.Data.SqlDbType.Bit, 0, global::System.Data.ParameterDirection.Input, 0, 0, "IsRiattivaEnabled", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -23813,11 +23855,17 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[2]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; - this._commandCollection[0].CommandText = "SELECT IdxPosizione, DescPosizione FROM dbo.AnagPosizioni"; + this._commandCollection[0].CommandText = "SELECT * FROM dbo.AnagPosizioni"; this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[1].Connection = this.Connection; + this._commandCollection[1].CommandText = "SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled\r\nFROM Ana" + + "gPosizioni\r\nWHERE (IdxPosizione = @IdxPosizione)"; + this._commandCollection[1].CommandType = global::System.Data.CommandType.Text; + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxPosizione", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "IdxPosizione", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -23842,6 +23890,17 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx return dataTable; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_magazzino.AnagPosizioniDataTable getByIdxPosizione(int IdxPosizione) { + this.Adapter.SelectCommand = this.CommandCollection[1]; + this.Adapter.SelectCommand.Parameters[0].Value = ((int)(IdxPosizione)); + DS_magazzino.AnagPosizioniDataTable dataTable = new DS_magazzino.AnagPosizioniDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] public virtual int Update(DS_magazzino.AnagPosizioniDataTable dataTable) { @@ -23870,7 +23929,7 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] - public virtual int Delete(int Original_IdxPosizione, string Original_DescPosizione) { + public virtual int Delete(int Original_IdxPosizione, string Original_DescPosizione, global::System.Nullable Original_IsRiattivaEnabled) { this.Adapter.DeleteCommand.Parameters[0].Value = ((int)(Original_IdxPosizione)); if ((Original_DescPosizione == null)) { this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(1)); @@ -23880,6 +23939,14 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx this.Adapter.DeleteCommand.Parameters[1].Value = ((object)(0)); this.Adapter.DeleteCommand.Parameters[2].Value = ((string)(Original_DescPosizione)); } + if ((Original_IsRiattivaEnabled.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[4].Value = ((bool)(Original_IsRiattivaEnabled.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[3].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[4].Value = global::System.DBNull.Value; + } global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) != global::System.Data.ConnectionState.Open)) { @@ -23899,7 +23966,7 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] - public virtual int Insert(int IdxPosizione, string DescPosizione) { + public virtual int Insert(int IdxPosizione, string DescPosizione, global::System.Nullable IsRiattivaEnabled) { this.Adapter.InsertCommand.Parameters[0].Value = ((int)(IdxPosizione)); if ((DescPosizione == null)) { this.Adapter.InsertCommand.Parameters[1].Value = global::System.DBNull.Value; @@ -23907,6 +23974,12 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx else { this.Adapter.InsertCommand.Parameters[1].Value = ((string)(DescPosizione)); } + if ((IsRiattivaEnabled.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[2].Value = ((bool)(IsRiattivaEnabled.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[2].Value = global::System.DBNull.Value; + } global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) != global::System.Data.ConnectionState.Open)) { @@ -23926,7 +23999,7 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] - public virtual int Update(int IdxPosizione, string DescPosizione, int Original_IdxPosizione, string Original_DescPosizione) { + public virtual int Update(int IdxPosizione, string DescPosizione, global::System.Nullable IsRiattivaEnabled, int Original_IdxPosizione, string Original_DescPosizione, global::System.Nullable Original_IsRiattivaEnabled) { this.Adapter.UpdateCommand.Parameters[0].Value = ((int)(IdxPosizione)); if ((DescPosizione == null)) { this.Adapter.UpdateCommand.Parameters[1].Value = global::System.DBNull.Value; @@ -23934,14 +24007,28 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx else { this.Adapter.UpdateCommand.Parameters[1].Value = ((string)(DescPosizione)); } - this.Adapter.UpdateCommand.Parameters[2].Value = ((int)(Original_IdxPosizione)); - if ((Original_DescPosizione == null)) { - this.Adapter.UpdateCommand.Parameters[3].Value = ((object)(1)); - this.Adapter.UpdateCommand.Parameters[4].Value = global::System.DBNull.Value; + if ((IsRiattivaEnabled.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[2].Value = ((bool)(IsRiattivaEnabled.Value)); } else { - this.Adapter.UpdateCommand.Parameters[3].Value = ((object)(0)); - this.Adapter.UpdateCommand.Parameters[4].Value = ((string)(Original_DescPosizione)); + this.Adapter.UpdateCommand.Parameters[2].Value = global::System.DBNull.Value; + } + this.Adapter.UpdateCommand.Parameters[3].Value = ((int)(Original_IdxPosizione)); + if ((Original_DescPosizione == null)) { + this.Adapter.UpdateCommand.Parameters[4].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[5].Value = global::System.DBNull.Value; + } + else { + this.Adapter.UpdateCommand.Parameters[4].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[5].Value = ((string)(Original_DescPosizione)); + } + if ((Original_IsRiattivaEnabled.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[6].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[7].Value = ((bool)(Original_IsRiattivaEnabled.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[6].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[7].Value = global::System.DBNull.Value; } global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) @@ -23962,8 +24049,8 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Update, true)] - public virtual int Update(string DescPosizione, int Original_IdxPosizione, string Original_DescPosizione) { - return this.Update(Original_IdxPosizione, DescPosizione, Original_IdxPosizione, Original_DescPosizione); + public virtual int Update(string DescPosizione, global::System.Nullable IsRiattivaEnabled, int Original_IdxPosizione, string Original_DescPosizione, global::System.Nullable Original_IsRiattivaEnabled) { + return this.Update(Original_IdxPosizione, DescPosizione, IsRiattivaEnabled, Original_IdxPosizione, Original_DescPosizione, Original_IsRiattivaEnabled); } } diff --git a/GMW/GMW_data/DS_magazzino.xsd b/GMW/GMW_data/DS_magazzino.xsd index aa1a5fad..24b359c6 100644 --- a/GMW/GMW_data/DS_magazzino.xsd +++ b/GMW/GMW_data/DS_magazzino.xsd @@ -2059,40 +2059,46 @@ SELECT CodLista, UDC, Qta, Proposto, Prelevato FROM RigheListePrelievo WHERE (Co - DELETE FROM [dbo].[AnagPosizioni] WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione))) + DELETE FROM [dbo].[AnagPosizioni] WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione)) AND ((@IsNull_IsRiattivaEnabled = 1 AND [IsRiattivaEnabled] IS NULL) OR ([IsRiattivaEnabled] = @Original_IsRiattivaEnabled))) + + - INSERT INTO [dbo].[AnagPosizioni] ([IdxPosizione], [DescPosizione]) VALUES (@IdxPosizione, @DescPosizione); -SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione) + INSERT INTO [dbo].[AnagPosizioni] ([IdxPosizione], [DescPosizione], [IsRiattivaEnabled]) VALUES (@IdxPosizione, @DescPosizione, @IsRiattivaEnabled); +SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione) + - - SELECT IdxPosizione, DescPosizione FROM dbo.AnagPosizioni + + SELECT * FROM dbo.AnagPosizioni - UPDATE [dbo].[AnagPosizioni] SET [IdxPosizione] = @IdxPosizione, [DescPosizione] = @DescPosizione WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione))); -SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione) + UPDATE [dbo].[AnagPosizioni] SET [IdxPosizione] = @IdxPosizione, [DescPosizione] = @DescPosizione, [IsRiattivaEnabled] = @IsRiattivaEnabled WHERE (([IdxPosizione] = @Original_IdxPosizione) AND ((@IsNull_DescPosizione = 1 AND [DescPosizione] IS NULL) OR ([DescPosizione] = @Original_DescPosizione)) AND ((@IsNull_IsRiattivaEnabled = 1 AND [IsRiattivaEnabled] IS NULL) OR ([IsRiattivaEnabled] = @Original_IsRiattivaEnabled))); +SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled FROM AnagPosizioni WHERE (IdxPosizione = @IdxPosizione) + + + @@ -2101,8 +2107,22 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx + - + + + + + SELECT IdxPosizione, DescPosizione, IsRiattivaEnabled +FROM AnagPosizioni +WHERE (IdxPosizione = @IdxPosizione) + + + + + + + @@ -2507,274 +2527,127 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2789,18 +2662,18 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - - - - - - - - + + + + + + + + - + @@ -2810,7 +2683,154 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2824,99 +2844,99 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - + - + - + - + - - - + + + - - + + - - + + - + - + - - - - - + + + + + - + - + - + @@ -2927,6 +2947,336 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2943,351 +3293,21 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -3300,130 +3320,131 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - - + + + - - + + - - - + + + - + - - + + - - + + - + - - - + + + - - - + + + - + - + - + - - + + - - + + - + - + @@ -3443,8 +3464,8 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - - + + @@ -3457,74 +3478,74 @@ SELECT Particolare, CodCS, CodCliente, DisegnoGrezzo, CodFamiglia, DescParticola - - - + + + - + - - + + - - + + - + - + - + - + - + - + - + diff --git a/GMW/GMW_data/DS_magazzino.xss b/GMW/GMW_data/DS_magazzino.xss index 0a698208..32fb538c 100644 --- a/GMW/GMW_data/DS_magazzino.xss +++ b/GMW/GMW_data/DS_magazzino.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + @@ -23,7 +23,7 @@ - + @@ -144,7 +144,7 @@ 392 - 218 + 256 392 diff --git a/GMW/GMW_data/MagClass.cs b/GMW/GMW_data/MagClass.cs index 77ccdcdb..64ed2b00 100644 --- a/GMW/GMW_data/MagClass.cs +++ b/GMW/GMW_data/MagClass.cs @@ -35,6 +35,7 @@ namespace GMW_data public DS_magazzinoTableAdapters.v_RapQualSuntoTableAdapter taRQ_sunto; public DS_magazzinoTableAdapters.v_posizioniDelibereTableAdapter taPosizDelib; public DS_magazzinoTableAdapters.AnagParticolariTableAdapter taAnagPart; + public DS_magazzinoTableAdapters.AnagPosizioniTableAdapter taAnagPos; /// @@ -65,6 +66,7 @@ namespace GMW_data taRQ_sunto = new GMW_data.DS_magazzinoTableAdapters.v_RapQualSuntoTableAdapter(); taPosizDelib = new GMW_data.DS_magazzinoTableAdapters.v_posizioniDelibereTableAdapter(); taAnagPart = new GMW_data.DS_magazzinoTableAdapters.AnagParticolariTableAdapter(); + taAnagPos = new GMW_data.DS_magazzinoTableAdapters.AnagPosizioniTableAdapter(); } /// /// effettua setup dei connection strings da web.config delal singola applicazione @@ -94,6 +96,7 @@ namespace GMW_data taRQ_sunto.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); taPosizDelib.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); taAnagPart.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); + taAnagPos.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); } #endregion @@ -606,6 +609,33 @@ namespace GMW_data { } return answ; } + /// + /// verifica se l'UDC sia riattivabile, ovvero + /// - sia permesso da web.config + /// - l'UDC sia in un mag che permette riattivazione + /// + /// + /// + public bool udcIsRiattivabile(string UDC) + { + bool answ = false; + // se permesso da web config controllo + if (memLayer.ML.confReadBool("riattUdcPermessa")) + { + try + { + // recupero posizione attuale + int idxPosizione = taElencoCartellini.getDetailsUdcByUdc(UDC)[0].IdxPosizione; + // verifico se riattivabile + answ = taAnagPos.getByIdxPosizione(idxPosizione)[0].IsRiattivaEnabled; + } + catch (Exception e) + { + logger.lg.scriviLog(string.Format("Errore nella riattivazione dell'UDC {0}:{1}{2}", UDC, Environment.NewLine, e), tipoLog.EXCEPTION); + } + } + return answ; + } #endregion diff --git a/GMW/GMW_data/bin/Debug/GMW_data.dll b/GMW/GMW_data/bin/Debug/GMW_data.dll index cd98f8e2..68449f08 100644 Binary files a/GMW/GMW_data/bin/Debug/GMW_data.dll and b/GMW/GMW_data/bin/Debug/GMW_data.dll differ diff --git a/GMW/GMW_data/bin/Debug/SteamWare.dll b/GMW/GMW_data/bin/Debug/SteamWare.dll index c86d2dd5..03b76143 100644 Binary files a/GMW/GMW_data/bin/Debug/SteamWare.dll and b/GMW/GMW_data/bin/Debug/SteamWare.dll differ diff --git a/GMW/GMW_data/bin/Release/GMW_data.dll b/GMW/GMW_data/bin/Release/GMW_data.dll index 8672bb01..902d1700 100644 Binary files a/GMW/GMW_data/bin/Release/GMW_data.dll and b/GMW/GMW_data/bin/Release/GMW_data.dll differ diff --git a/GMW/GMW_data/bin/Release/SteamWare.dll b/GMW/GMW_data/bin/Release/SteamWare.dll index b9e8d620..963ec1b8 100644 Binary files a/GMW/GMW_data/bin/Release/SteamWare.dll and b/GMW/GMW_data/bin/Release/SteamWare.dll differ diff --git a/GMW/GMW_data/obj/Debug/GMW_data.dll b/GMW/GMW_data/obj/Debug/GMW_data.dll index cd98f8e2..68449f08 100644 Binary files a/GMW/GMW_data/obj/Debug/GMW_data.dll and b/GMW/GMW_data/obj/Debug/GMW_data.dll differ diff --git a/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache b/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache index 80a26e78..1b7fb689 100644 Binary files a/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache and b/GMW/GMW_data/obj/Debug/ResolveAssemblyReference.cache differ diff --git a/GMW/GMW_data/obj/Debug/TempPE/DS_magazzino.Designer.cs.dll b/GMW/GMW_data/obj/Debug/TempPE/DS_magazzino.Designer.cs.dll index 3d57565a..d7f6df58 100644 Binary files a/GMW/GMW_data/obj/Debug/TempPE/DS_magazzino.Designer.cs.dll and b/GMW/GMW_data/obj/Debug/TempPE/DS_magazzino.Designer.cs.dll differ diff --git a/GMW/GMW_data/obj/Release/GMW_data.dll b/GMW/GMW_data/obj/Release/GMW_data.dll index 8672bb01..902d1700 100644 Binary files a/GMW/GMW_data/obj/Release/GMW_data.dll and b/GMW/GMW_data/obj/Release/GMW_data.dll differ diff --git a/GMW/GMW_data/obj/Release/ResolveAssemblyReference.cache b/GMW/GMW_data/obj/Release/ResolveAssemblyReference.cache index 34f1ff6b..8e04dfad 100644 Binary files a/GMW/GMW_data/obj/Release/ResolveAssemblyReference.cache and b/GMW/GMW_data/obj/Release/ResolveAssemblyReference.cache differ