diff --git a/GMW/GMW_Term/GMW_Term.csproj b/GMW/GMW_Term/GMW_Term.csproj index f8efd060..dc34d406 100644 --- a/GMW/GMW_Term/GMW_Term.csproj +++ b/GMW/GMW_Term/GMW_Term.csproj @@ -102,6 +102,13 @@ mod_currentTask.ascx + + mod_execUdc.ascx + ASPXCodeBehind + + + mod_execUdc.ascx + mod_home.ascx ASPXCodeBehind @@ -116,13 +123,6 @@ mod_listePrelievo.ascx - - mod_login.ascx - ASPXCodeBehind - - - mod_login.ascx - mod_menuTop.ascx ASPXCodeBehind @@ -137,13 +137,6 @@ mod_search.ascx - - mod_userBar.ascx - ASPXCodeBehind - - - mod_userBar.ascx - AutoCompletamento.asmx Component @@ -169,13 +162,6 @@ ListePrelievo.aspx - - Login.aspx - ASPXCodeBehind - - - Login.aspx - Search.aspx ASPXCodeBehind @@ -199,17 +185,15 @@ + - - - diff --git a/GMW/GMW_Term/Style.css b/GMW/GMW_Term/Style.css index 639c09dd..ee265adb 100644 --- a/GMW/GMW_Term/Style.css +++ b/GMW/GMW_Term/Style.css @@ -25,7 +25,10 @@ { height: 20px; } - +#smallTable +{ + font-size: 10pt; +} .quadro1, .quadro2 { float: left; diff --git a/GMW/GMW_Term/UDC.aspx b/GMW/GMW_Term/UDC.aspx index 134cc487..0d2ccdfc 100644 --- a/GMW/GMW_Term/UDC.aspx +++ b/GMW/GMW_Term/UDC.aspx @@ -1,8 +1,10 @@ <%@ Page Title="" Language="C#" MasterPageFile="~/WebMasterPages/Compact.Master" AutoEventWireup="true" CodeBehind="UDC.aspx.cs" Inherits="GMW_Term.UDC" %> +<%@ Register src="WebUserControls/mod_execUdc.ascx" tagname="mod_execUdc" tagprefix="uc1" %> + - WIP + diff --git a/GMW/GMW_Term/UDC.aspx.designer.cs b/GMW/GMW_Term/UDC.aspx.designer.cs index 098e9037..955a89db 100644 --- a/GMW/GMW_Term/UDC.aspx.designer.cs +++ b/GMW/GMW_Term/UDC.aspx.designer.cs @@ -12,5 +12,14 @@ namespace GMW_Term { public partial class UDC { + + /// + /// mod_execUdc1 control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::GMW_Term.WebUserControls.mod_execUdc mod_execUdc1; } } diff --git a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs index acc0d378..e7c1b5d2 100644 --- a/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_barcode.ascx.cs @@ -116,8 +116,10 @@ namespace GMW_Term.WebUserControls lblData.Text = "Codice UDC: " + valoreScan; txtScansione = ""; // controllo l'UDC se sia valido.. - if (true) + if (true) // !!!FARE!!! { + // salvo in session UDC selezionato + memLayer.ML.setSessionVal("UDC_sel", valoreScan, false); if (eh_scannedUdc != null) { eh_scannedUdc(this, new EventArgs()); @@ -134,6 +136,8 @@ namespace GMW_Term.WebUserControls esitoLoginTerm esito = TermClass.Ter.doUserLogin(dataIn); if (esito == esitoLoginTerm.ok) { + // salvo i dati di CodCS + memLayer.ML.setSessionVal("CodCS", memLayer.ML.confReadString("CodCS"), true); if (eh_scannedUser != null) { eh_scannedUser(this, new EventArgs()); diff --git a/GMW/GMW_Term/WebUserControls/mod_currentTask.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_currentTask.ascx.cs index 00cb6021..e69378c4 100644 --- a/GMW/GMW_Term/WebUserControls/mod_currentTask.ascx.cs +++ b/GMW/GMW_Term/WebUserControls/mod_currentTask.ascx.cs @@ -15,7 +15,7 @@ namespace GMW_Term.WebUserControls string task = memLayer.ML.StringSessionObj("activeTask"); if (task == "") { - task = "...wait..."; + task = "... waiting ..."; } lblTask.Text = task; } diff --git a/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx new file mode 100644 index 00000000..bcb77cf2 --- /dev/null +++ b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx @@ -0,0 +1,228 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="mod_execUdc.ascx.cs" + Inherits="GMW_Term.WebUserControls.mod_execUdc" %> +
+ + + UDC: + +
+ RagSociale: + +
+ Particolare: + +
+ DescParticolare: + +
+ DisegnoGrezzo: + +
+ Esponente: + +
+ DescImpianto: + +
+ DataFus: + +
+ TurnoFus: + +
+ CodImballo: + +
+ Qta: + +
+ DescStato: + +
+ ModDate: + +
+ CodMag: + +
+ CodBlocco: + +
+ CodCella: + +
+ X: + +
+ Y: + +
+ Z: + +
+ IdxCella: + +
+ +   +
+ + UDC: + +
+ Particolare: + +
+ + DisegnoGrezzo: + +
+ Esponente: + + Qta: + +
+ DescStato: + + + + + + +
+ CodMag: + + + CodBlocco: + +
+ CodCella: + + + + + + + +
+ X: + + + Y: + + + Z: + +
+
+ <%-- + UDC: + +
+ RagSociale: + +
+ Particolare: + +
+ DescParticolare: + +
+ DisegnoGrezzo: + +
+ Esponente: + +
+ DescImpianto: + +
+ DataFus: + +
+ TurnoFus: + +
+ CodImballo: + +
+ Qta: + +
+ DescStato: + +
+ ModDate: + +
+ CodMag: + +
+ CodBlocco: + +
+ CodCella: + +
+ X: + +
+ Y: + +
+ Z: + +
+ IdxCella: + +
+
--%> +
+
+ + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ +
+
+ +
+ +
+ +
+
+ + +
+
+
diff --git a/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs new file mode 100644 index 00000000..9759ba7c --- /dev/null +++ b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.cs @@ -0,0 +1,262 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; +using GMW_data; + +namespace GMW_Term.WebUserControls +{ + public partial class mod_execUdc : System.Web.UI.UserControl + { + /// + /// codice company/sito in sessione + /// + protected string _CodCs + { + get + { + return memLayer.ML.StringSessionObj("CodCS"); + } + } + /// + /// UDC correntemente selezionato + /// + protected string UDC + { + get + { + return memLayer.ML.StringSessionObj("UDC_sel"); + } + set + { + memLayer.ML.setSessionVal("UDC_sel", value); + } + } + + /// + /// caricamento pagina + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!Page.IsPostBack) + { + pnlButtons.Visible = true; + pnlInput.Visible = false; + traduciObj(); + setupBtn(); + } + } + /// + /// sistemo abilitazione buttons (a seconda dello stato dell'UDC) + /// + private void setupBtn() + { + bool posizAssegn = false; + try + { + DS_magazzino.v_UdcDetailRow rigaUdc = MagClass.magazzino.taDettUDC.getByFullUdc(UDC, _CodCs)[0]; + posizAssegn = (rigaUdc.CodCella != ""); + } + catch + { } + // in base a che sia in una posizioen amgazzino o meno scelgo che buttons abilitare + if (posizAssegn) + { + btnDeposita.Enabled = false; + btnSposta.Enabled = true; + btnPreleva.Enabled = true; + } + else + { + btnDeposita.Enabled = true; + btnSposta.Enabled = false; + btnPreleva.Enabled = false; + } + btnRettifica.Enabled = true; + btnChiudi.Enabled = true; + } + /// + /// sistemazione buttons + /// + private void traduciObj() + { + // buttons primari + btnDeposita.Text = "[1] - Deposita"; + btnDeposita.AccessKey = "1"; + btnSposta.Text = "[2] - Sposta"; + btnSposta.AccessKey = "2"; + btnRettifica.Text = "[3] - Rettifica"; + btnRettifica.AccessKey = "3"; + btnPreleva.Text = "[4] - Preleva"; + btnPreleva.AccessKey = "4"; + btnChiudi.Text = "[0] - Home"; + btnChiudi.AccessKey = "0"; + // buttons secondari + btnConferma.Text = "[5] - Conferma"; + btnConferma.AccessKey = "5"; + btnCellaPiena.Text = "[6] - Conf.+Cella Piena"; + btnCellaPiena.AccessKey = "6"; + } + /// + /// wrapper traduzione termini + /// + /// + /// + public string traduci(string lemma) + { + return user_std.UtSn.Traduci(lemma); + } + /// + /// click button deposito + /// + /// + /// + protected void btnDeposita_Click(object sender, EventArgs e) + { + // nasconde/mostra panels + pnlButtons.Visible = false; + pnlInput.Visible = true; + } + /// + /// inserito testo nella TextBox + /// + /// + /// + protected void txtInput_TextChanged(object sender, EventArgs e) + { + // salvo in sessione la scansione attuale... + valoreScanUdc = txtScansione; + // verifica l'input immesso + tipoCodiceBarcode answ = TermClass.Ter.riconosciBarcode(txtScansione); + switch (answ) + { + case tipoCodiceBarcode.Cella: + lblData.Text = "Cella: " + txtScansione; + txtScansione = ""; + // mostro btnConferma + btnConferma.Enabled = true; + // metto focus + btnConferma.Focus(); + // controllo se la cella sia "papabile" per indicazione "piena" + bool alertCapa = false; + bool cellaPiena = false; + string _CodCS = memLayer.ML.StringSessionObj("CodCS"); + try + { + DS_magazzino.V_statoCelleCapienzaAssegnatiRow rigaStato = MagClass.magazzino.taStatoCelle.getByCodCella(valoreScanUdc)[0]; + alertCapa = ((rigaStato.Capienza - rigaStato.UdcAssegnati) <= 1); + cellaPiena = MagClass.magazzino.cellaPiena(_CodCS, MagClass.magazzino.IdxCellaByCodCella(_CodCS, valoreScanUdc)); + } + catch + { } + if (alertCapa && !(cellaPiena)) + { + btnCellaPiena.Enabled = true; + btnCellaPiena.Focus(); + } + else + { + btnCellaPiena.Enabled = false; + } + break; + + default: + lblData.Text = "Codice non riconosciuto: " + valoreScanUdc; + txtInput.Text = ""; + break; + } + + } + + /// + /// testo contenuto nella textbox + /// + public string txtScansione + { + get + { + return txtInput.Text.Trim(); + } + set + { + txtInput.Text = value; + } + } + /// + /// valore della scansione barcode + /// + public string valoreScanUdc + { + get + { + return memLayer.ML.StringSessionObj("scannedValueUdc"); + } + set + { + memLayer.ML.setSessionVal("scannedValueUdc", value, false); + } + } + /// + /// richiesto caricamento UDC + /// + /// + /// + protected void btnConferma_Click(object sender, EventArgs e) + { + bool cellaPiena = false; + depositaUdc(cellaPiena); + } + /// + /// richiesto caricamento UDC e set a piena della cella + /// + /// + /// + protected void btnCellaPiena_Click(object sender, EventArgs e) + { + bool cellaPiena = true; + depositaUdc(cellaPiena); + } + /// + /// effettua salvataggio, mostra cella updated, eventuale set piena della cella + /// + /// + private void depositaUdc(bool setCellaPiena) + { + // cerco id della cella... + int idxCella = MagClass.magazzino.IdxCellaByCodCella(memLayer.ML.StringSessionObj("CodCS"), valoreScanUdc); + // salva le info facendo caricamento + MagClass.magazzino.caricaUDC(memLayer.ML.StringSessionObj("CodCS"), UDC, idxCella); + if (setCellaPiena) + { + MagClass.magazzino.taCelle.stp_celle_updPiena(idxCella, true); + } + // sistema visibilità + pnlButtons.Visible = true; + pnlInput.Visible = false; + btnConferma.Visible = false; + // aggiorna dati + frmView.DataBind(); + } + /// + /// ritorna alla home + /// + /// + /// + protected void btnChiudi_Click(object sender, EventArgs e) + { + // svuoto da session l'UDC corrente... e pure il barcode corrente... + memLayer.ML.emptySessionVal("scannedValue"); + //memLayer.ML.emptySessionVal("UDC_sel"); + UDC = ""; + memLayer.ML.emptySessionVal("activeTask"); + Response.Redirect("Home.aspx"); + } + + + } +} \ No newline at end of file diff --git a/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.designer.cs b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.designer.cs new file mode 100644 index 00000000..1e1d04b5 --- /dev/null +++ b/GMW/GMW_Term/WebUserControls/mod_execUdc.ascx.designer.cs @@ -0,0 +1,133 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.4927 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace GMW_Term.WebUserControls { + + + public partial class mod_execUdc { + + /// + /// frmView control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.FormView frmView; + + /// + /// ods control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource ods; + + /// + /// pnlButtons control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel pnlButtons; + + /// + /// btnDeposita control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnDeposita; + + /// + /// btnSposta control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnSposta; + + /// + /// btnRettifica control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnRettifica; + + /// + /// btnPreleva control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnPreleva; + + /// + /// btnChiudi control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnChiudi; + + /// + /// pnlInput control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Panel pnlInput; + + /// + /// txtInput control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.TextBox txtInput; + + /// + /// lblData control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblData; + + /// + /// btnConferma control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnConferma; + + /// + /// btnCellaPiena control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnCellaPiena; + } +} diff --git a/GMW/GMW_Term/bin/GMW_Term.dll b/GMW/GMW_Term/bin/GMW_Term.dll index 04823a61..bc1e2dda 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 7aab672f..45a63e2f 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 64eda3e0..6809ec2a 100644 --- a/GMW/GMW_Term/bin/SteamWare.XML +++ b/GMW/GMW_Term/bin/SteamWare.XML @@ -4,3161 +4,5 @@ SteamWare - - - classe gesione log files applicazioni - - - - - directory base x logs - - - - - nome del file corrente - - - - - max mb di log da accumulare - - - - - singleton del logger - - - - - avvio del logger nella dir desiderata - - - - - avvio del logger nella dir desiderata - - - - - avvio del logger nella dir desiderata con il max di dati indicato - - - - - scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?) - - testo iniziale del log - - - - - scrive un messaggio di log con etichetta pre - - testo messaggio - tipo di log da registrare (etichetta [...]) - - - - - fornisce il nome del file in cui loggare (ed eventualmente crea...) - - - - - provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb - - - - - fornisce il file + vecchio - - - - - - - tipo di log ammesso - - - - - informazioni di debug - - - - - errori - - - - - eccezioni nell'esecuzione try/catch - - - - - errori fatali - - - - - informazioni opzionali - - - - - fase di avvio componente - - - - - avvisi - - - - - classe di wrap verso i TableAdapter impiegati - - - - - metodo protected di avvio della classe - - - - - procedura di avvio dei tableAdapter - - - - - procedura di avvio dei tableAdapter - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - setup delle tabelle vocabolario - - - - - prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary - - - - - - tableAdapter diritti - - - - - tableAdapter permessi - - - - - tableAdapter funzione - - - - - tableAdapter permessi2funzione - - - - - tableAdapter CdC - - - - - tableAdapter utenti - - - - - table adapter lingue - - - - - table adapter vocabolario - - - - - table adapter versione vocabolario - - - - - table adapter versione anagrafica - - - - - oggetto vocabolario organizzato come dizionario con chiave lang#lemma e valore la traduzione - - - - - resetta il vocabolario rileggendo i dati... - - - - - crea nel db corrente il lemma richiesto e lo valorizza come "--{0}--" - - - - - - - classe singleton x la gestione dei tableadapters - - - - - elenco lingue ammesse da vocabolario... - - - - - classe di gestione lettura - - - - - esegue parsing fornendo dati ed headers - - - - - - - - esegue parsing fornendo dati - - - - - - - esegue parsing fornendo dati come stream - - - - - - - esegue parsing fornendo dati come stream ed headers - - - - - - - - struttura di comando da input utente (es: via barcode) - - - - - definisce se il comando sia valido o no - - - - - testo da mostrare dato il comando - - - - - comando registrato - - - - - comando precedentemente inserito - - - - - descrizione del comando - - - - - descrizione del comando precedente - - - - - valore del comando - - - - - valore tradotto del comando - - - - - costruttore del metodo... - - - - - Base class for every user control in the application, containing some common - behaviour and utility methods. - It is not meant to be be used directly. - - - - - tipo id controllo con classi di base comune da cui derivare gli *.asmx - - - - - nome della pagina correntemente caricata - - - - - memorizza la pagina precedente (ovvero la corrente ma non da page-object ma in session... - - - - - stringa con CDC in (...) dei cdc abilitati (da permesso gerarchicamente a discendere...) - - - - - stringa con elenco CDC abilitati (da permesso gerarchicamente a discendere...) - - - - - tabella diritti - - - - - tabella di tutti i cdc - - - - - tipo di anagrafica usata - - - - - importo il tipo di vista del modulo - - - - - elenco testuale csv dei cdc accessibili all'utente (x filtri tipo IN(...)) - - - - - numero di righe standard x i datagrid - - - - - numero di righe standard x i datagrid di anagrafica - - - - - numero di righe standard x i datagrid lunghi - - - - - numero di righe standard x i datagrid medi - - - - - numero di righe standard x i datagrid su mezza pagina - - - - - numero di righe standard x i selettori popup - - - - - indirizzo email dell'admin applicativo cui vanno le email in caso di anomalie... - - - - - indirizzo email dell'applicativo da cui partono le email in caso di anomalie... - - - - - indirizzo server SMTP - - - - - elenco delle pagine "safe" ovvero da non autorizzare - da web.config - - - - - elenco delle pagine "common" ovvero da autorizzare ma senza bisogno diritti in anagrafica - da web.config - - - - - valore che determina se è possibile forzare impersonificazioen utente... - - - - - livello di log (1-->5) - - - - - dir di logging - - - - - MAIN: esecuzione al caricamento del modulo delle routines di controllo utente e creazione pagina - - - - - - - predisposizione dati x pagina da cache/database a seconda della disponibilità in cache o refresh (B.1.4) - - - - - popola gli oggetti e le labels... (B.1.6) - - - - - disegna la pagina: prima i controlli poi il datagrid - - - - - aggiunge i link x i selettori - - - - - sistema i vari controlli della pagina - - - - - aggiorna eventuali datalist e datagrid - - - - - sistema tutte le labels traducendo i lemmi nella lingua utente ed in inglese - - - - - calcola come percentuale la radio dividendo/divisore - - - - - - - - limita una stringa al numero max di caratteri imposto - - - - - - - - Reads data from a stream until the end is reached. The - data is returned as a byte array. An IOException is - thrown if any of the underlying IO calls fail. - - The stream to read data from - The initial buffer length - - - - converte una data in formato aaaammgg in stringa gg/mm/aaaa - - - - - - - converte una data in formato aaaammgg in stringa aaaa-mm-gg - - - - - - - converte una stringa in formato gg/mm/aaaa in stringa(intero data) in formato aaaammgg - - - - - - - converte una datetime in un intero tipo yyyymmddhhmmss - - - - - - - formatta la data in formato dateTime in una data formato italiano come stringa gg/mm/aaaa - - - - - - - invia un alert jscript con messaggio indicato... - - messaggio dell'alert da mandare - - - - scrive immediatamente sulla pagina web il messaggio di avanzamento... - - - - - - restituisce una scringa formattata in testa e coda x essere un corretto comando javascript - - - - - - - invio email senza log - - - - - - - - - - invio email con log - - - - - - - - - - caricamento dati applicazione da sessione (B.1.3) - - - - - setup datamanagers... - - - - - reset update del modulo corrente - - - - - (ri)carica i dataset del modulo - - - - - verifica se tutti i dataset richiesti sono disponibili i cache - - - - - - salva nella cache i dataset caricati - - - - - carica dalla cache i dataset necessari - - - - - legge i valori standard x dataset e parametri - - - - - leggi i parametri di configurazione standard dell'applicativo - - - - - genera la stringa dei cdc autorizzati dell'utente - - - - - legge il dataset dei CdC - - - - - caricamento dati user da sessione (B.1.1) - - - - - verifica che l'utente abbia almeno un permesso per la pagina corrente altrimenti redirect ad unauthorized - - - - - salva in variabile pagina il nome della pagina corrente - - - - - selezione delle posizioni cdc autorizzate come stringa di filtraggio su POSIZIONE LIKE, se non ce ne fossero redirige su unauthorized.aspx - - - - - - risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione - - - - - - verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio da accodare al filtro x CdC autorizzati - - condizione - tipo di eguaglianza - nome parametro - valore parametro - - - - - crea la stringa di filtraggio x data secondo modalità tipo inizio/fine/durante... - - - - - - crea la stringa di filtraggio x data secondo modalità tipo minoreUguale / uguale / maggioreUguale... - - - - - - verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio tipo LIKE x i campi inseriti separati da # SE valParam !="" - - - - - - - - esegue la ricerca dei cdc nelle posizioni indicate dal filtro e restituisce elenco distinct degli stessi - - filtro con cui cercare i cdc (del tipo " (POSIZIONE LIKE 'T.1.2.3%') OR ... " - stringa di filtraggio ricostruita per l'elenco dei cdc fino a quel momento trovati - ultimo cdc trovato - cdc corrente - - - - - restituisce il cdc dell'utente data la sua matricola - - - - - - - restituisce l'utente AS dall'utente win - - - - - - - restituisce la descr del CdC - - - - - - - invia la stringa jscript di conferma pre-cancellazione - - - - - - restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}" - - verrà usato x posizione {0}, tipo "view" - verrà usato x posizione {1}, tipo "_s.png" - - - - - restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}" - - verrà usato x posizione {0}, tipo "view" - verrà usato x posizione {1}, tipo "_s.png" - tipo del file richiesto..." - - - - - effettua traduzione del lemma - - - - - - - effettua traduzione in inglese del lemma - - - - - - - definisce visibilità - - - - - - - effettua la registrazione degli eventi - - - - - effettua l'inserimento vero e proprio dell'evento letto dai valori in session x l'utente corrente... - - evento da loggare - valori originali - nuovi valori - filtro associato - - - - salva in sessione i valori indicati - - dictionary dei valori vecchi - dictionary dei valori nuovi - bool su abilitazione al log dell'oggetto - descrizione evento da loggare - filtro associato all'evento - restituisce il numero di elementi contenuti, -1 significa nessuna differenza... - - - - salva in sessione i valori per un oggetto che sta x essere eliminato - - dictionary dei valori vecchi - bool su abilitazione al log dell'oggetto - descrizione evento da loggare - filtro associato all'evento - restituisce il numero di elementi contenuti, -1 significa nessuna differenza... - - - - imposto il tipo di anagrafica del controlloS - - - - - variabile salvata in view state x la stringa di sorting - dg 2 - - - - - variabile salvata in view state x la stringa di sorting - dg 2 - - - - - legge e scrive in viewState la stringa di filtraggio... - - - - - variabile salvata in viewstate x la direzione del sorting - - - - - genera la stringa filtro x i cdc autorizzati x l'user - - - - - - tipo di vista del modulo - - - - - Summary description for selettori - - - - - - - - - - - - - - - carica i dati CdC se in cache o da TableAdapter - - - - - restituisce l'elenco di tutti i cdc - - - - - - restituisce l'elenco di tutti i cdc della gerarchia dell'utente - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe di gestione dei db x creazione/update alla versione richiesta - - - - - oggetto connessione - - - - - stringa di connessione - - - - - dir che contiene gli script da eseguire... - - - - - formato del file SQL impiegato (nel senso di formato come iFormat del tipo "App_{0:0000}.sql" --> da App_0001.sql ad App_9999.sql) - - - - - avvio protected della classe - - - - - esegue gli script di sql di update dal file richiesto - - - - - - - - Aggiorna il db eseguendo gli script dalla versione di partenza a quella di arrivo - - NB: per definizione rev 0 = resetta svuotando DB, rev 1 crea tabelle iniziali, rev 2 inserisce i valori di default - - nome DB di cui cercare script - revisione di partenza - revisione di arrivo - timeout max per ogni operazione - - - - - verifica se il db indicato esiste o meno... - - - - - - - - crea il db indicato con i parametri di connessione specificati - - - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe con funzioni specifiche di calcolo - - - - - inizializzazione classe - - - - - elenco dei caratteri base 36: 0..9A..Z - - - - - - converte da base di dimensione nBase a valore intero - - valore in formato nBase - base, max 36 (0..9A..Z) - - - - - metodo di accesso singleton - - - - - tipo di chart (2D/3D) - - - - - 2D - - - - - 3D - - - - - web control che disegna un grafico a torta - - - - - altezza di default - - - - - larghezza di default - - - - - padding di default - - - - - legenda visibile di default - - - - - soglia minima 5% per mostrare il dato - - - - - renderizza il contenuto - - - - - - disegna la leggenda html laterale... - - - - - - disegna piechart 2-dim - - - - - - disegna piechart 3d ellittica - - - - - - traduce la stringa colore in oggetto colore - - - - - - - converte intero a stringa esadecimale - - - - - - - converte stringa esadecimale a intero - - - - - - - tipo di grafico (2D/3D) - - - - - ampiezza del grafico - - - - - altezza del grafico - - - - - padding grafico/container - - - - - boolean se si debba mostrale la legenda - - - - - percentuale minima da mostrare - - - - - serie di dati (tipizzata) ma mostrare - - - - - testo associato al controllo - - - - - layer gestione vari tipi di memoria: cache, session... - - - - - lettore file configurazione - - - - - oggetto singleton x accesso al layer di memoria - - - - - classe gestione accessi a Session, cache, viewstate, configuration... - - - - - legge dalla config un valore bool - - - - - - - legge dalla config un valore string - - - - - - - legge dalla config un valore int - - - - - - - carica dalla sessione un dato di tipo object generico - - - - - - - carica dalla sessione un dato di tipo boolean (se vuoto false) - - - - - - - carica dalla sessione un dato di tipo string - - - - - - - carica dalla sessione un dato di tipo long - - - - - - - carica dalla sessione un dato di tipo int - - - - - - - inserisce in session un valore - - - - - - - salvo un valore come cookie - - - - - - - - restituisco un valore da cookie - - - - - - - inserisce in session un valore - - nome della variabile - valore associato - indica se debba sopravvivere ad update (inserita in elenco valSess2SurvUpd) - - - - - svuota una variabile dalla session - - - - - - restituisce true se è presente in session l'oggetto richiesto - - - - - - - carica dalla Cache un dato di tipo object generico - - - - - - - carica dalla Cachee un dato di tipo boolean (se vuoto false) - - - - - - - carica dalla Cachee un dato di tipo string - - - - - - - inserisce in Cache un valore - - nome della variabile - valore - - - - inserisce in Cache un valore e su richiesta regitra tra le tab in cache da svuotare on update.. - - nome della variabile - valore - da registrare come tabella da svuotare on update? - - - - - svuota una variabile dalla Cache - - - - - - restituisce true se è presente in cache l'oggetto richiesto - - - - - - - aggiunge la stringa corrente nel dictionary delle tabelle messe in cache e da aggiornare su comando update - - - - - - aggiunge la stringa corrente nel dictionary delle tabelle messe in session che vanno preservate da comando update (es: oggetto selezionato...) - - - - - - - forza lo svuotamento delel tabelle indicate come in cache... - - - - - elenco dictionary delle tab in cache da aggiornare con update svuotando da cache... - - - - - elenco dictionary dei valori in session da NON aggiornare con update... - - - - - classe gestione parametri deviceper stampa - - - - - creazione oggetto parametri per stampa - - - - - - - - - - - - formato output - - - - - altezza - - - - - larghezza - - - - - margine Sx - - - - - margine Dx - - - - - margine Top - - - - - margine Bottom - - - - - enumeratore modalità login - - - - - login AD normale - - - - - forza utente fornendo password - - - - - forza ad un utente standard scelto dall'elenco - - - - - enumeratore modalità scrittura tag siteMap - - - - - nodo di tipo iniziale - apertura - - - - - nodo di tipo foglia - - - - - nodo di tipo finale - chiusura - - - - - enumeratore tipi di anagrafica - - - - - tipo di anagrafica Brembo - - - - - tipo di anagrafica generica - - - - - tipo di vista del modulo - - - - - modalità selezione - - - - - modalità editing - - - - - tipologia di file immagine - - - - - formato gif (no alpha channel) - - - - - formato jpeg - - - - - formato png - - - - - tipo di immagini usate per le icone di comando in web applications - - - - - icona annulla (croce rossa) - - - - - icona approva (simbolo coccarda) - - - - - icona barcode in campo bianco - - - - - icona barcode in campo arancio - - - - - icona clona (magic wand) - - - - - icona converma (spunta verde) - - - - - icona elimina (cestino) - - - - - icona modifica (matita) - - - - - icona notepad (blocco note) - - - - - icona notepad + pdf (blocco note) - - - - - icona nuovo (segno +) - - - - - icona seleziona (lente) - - - - - icona semaforo giallo - - - - - icona semaforo rosso - - - - - icona semaforo verde - - - - - icona stampa (printer) - - - - - dimensione immagini usate per le icone di comando in web applications - - - - - formato piccolo - - - - - formato medio - - - - - formato grande - - - - - definisce un intervalo di 2 date - - - - - data inizio - - - - - data fine - - - - - struttura orario ordinarie/strordinarie - - - - - ore ordinarie - - - - - ore straordinarie - - - - - classe di funzioni inerenti le date - - - - - inizializzazione empty - - - - - effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine - - - - - - - - oggetto mese precedente alla dataLilmite - - - - - - oggetto mese corrente fino alla dataLilmite - - - - - - confronta le date e restituisce true se le date sono nello stesso mese - - - - - - - - restituisce l'intervallo del giorno completo che comprende la data indicata - - - - - - - restituisce l'intervallo di N giorni fino alla data indicata - - - - - - - - restituisce l'intervallo della settimana corrente per la data indicata - - - - - - - restituisce l'intervallo del mese corrente per la data indicata - - - - - - - restituisce l'intervallo del mese che comprendela data indicata - - - - - - - restituisce l'intervallo dell'anno corrente per la data indicata - - - - - - - classe di gestione delle email - - - - - stringa nel nome DNS o dell'ip del server SMTP - - - - - metodo static per la gestione delle email - - - - - - metodo static per la gestione delle email - - - - - - - procedura invio email - - email mittente - email destinatario - oggetto dell'email - corpo del messaggio - - - - procedura invio email + scrittura in log! - - email mittente - email destinatario - oggetto dell'email - corpo del messaggio - - - - metodo singleton gestione email... - - - - - Tipo di comparazione, Binary == CaseSensitive, Text = insensitive - - - - - tipo controllo : binario - - - - - tipo controllo : text - - - - - Funzione di splitting compatibile con multi-character e multi-line - - - - - stringa da splittare - - - - - Delimiter con cui splittare - - - - - Costruttore dello Splitter - - - - - comparatore case sensitive - - - - - - - - comparatore case insensitive - - - - - - - - parte principale dello splitter - - stringa da splittare - delimitatore ricercato - true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base) - - 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive - - - - - elimina dal nome file il tipo (desinenza) - - - - - - - Classe di metodi che estendono quelli base applicati alle string - - - - - Trasforma in MAIUSCOLo il primo carattere della stringa - - stringa da processare - stringa processata - - - - restituisce la stringa completa e corretta del filepath del server (anche con vDir) - - path relativo alla cartella iis dell'applicativo - path fisico tradotto - - - - effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi - - - - - - - fornisce dati di base per l'utente - - - - - fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE - - - - - - - restituisce la riga completa dall'username richiesto - - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe gestione utente: auth e permission/ruoli - versione GENERICA - - - - - cancella da session l'utente - - - - - carica la riga dati utente - - - - - Carica la tabella diritti dell'utente da db e salva in session - - - - - Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato - - - - - - Effettua setup dei permessi una volta salvati i diritti - - - - - imposta la lingua utente dal valore della riga DB - - - - - costruisce la mappa del sito per l'utente - - - - - formatta un nodo in modo corretto dai dati indicati - - - - - - - - - inizializza la gestione utente... - - - - - traduce il lemma nella lingua dell'user corrente - - - - - - - traduce il lemma in inglese - - - - - - - traduce il lemma nella lingua dell'user e in inglese tra parentesi - - - - - - - LogOff utente con reset dati - - - - - - - - Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati - - - - - - - - Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato - - - - - - - - - salva dati accessori quali il cdc dell'utente... - - - - - verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta - - - - - - - verifica le credenziali AD dell'utente... - - - - - - - - conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1 - - - - - - - verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S') - - - - - - - ricarica e ri-traduce la mappa sito per l'utente... - - - - - retituisce il nome apgina dai permessi utente - - - - - - restituisce cognome e nome di un utente dato username... - - username - - - - - restituisce cognome e nome di un utente data la matricola... - - matricola - - - - - restituisce cognome e nome di un utente dato username e dominio... - - username - dominio - - - - - restituisce cognome e nome di un utente dato username... - - username - - - - - restituisce cognome e nome di un utente dato username e dominio... - - username - dominio - - - - - restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio... - - {dominio\}userName - - - - - restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti - - - - - - - - restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione - - nome del modulo - nome della funzione - tabella utenti - - - - restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione - - nome del modulo - nome della funzione - stringa di email separate da "," - - - - crea un nuovo utente con le credenziali indicate - - - - - - - - - - - - assegna il diritto all'utente indicato - - - - - - - - - - - toglier il diritto all'utente indicato - - - - - - - - - - - restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...) - - modulo di cui si testano i diritti - - - - - versione statica della classe utente come singleton UtenTeSignletoN - - - - - restituisce la tabella diritti da session - - - - - tabella dei permessi utente - - - - - tabella dei permessi utente di tipo "WRITE" enabled - - - - - retituisce username AD - - - - - oggetto utente con metodi get/set - - - - - oggetto dominio con metodi get/set - - - - - oggetto modulo (applicazione) con metodi get/set - - - - - oggetto lingua utente con metodi get/set - - - - - restituisce true se utente forzato da forceUser.aspx - - - - - restituisce i valori della riga utente da db - - - - - restituisce una stringa formattata con cognome, nome e matricola - - - - - restituisce una stringa della sigla dell'utente - - - - - restituisce una stringa formattata con cognome e nome - - - - - restituisce una stringa formattata con cognome - - - - - restituisce una stringa formattata con nome - - - - - fornisce un file XML della mappa del sito abilitato per l'utente... - - - - - è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza... - - - - - Accesso in lettura e scrittura al filesystem per gestione files upload e download - - - - - path di lavoro dei metodi leggi/scrivi - - - - - verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale - - - - - - - restituisce una tab di files dato l'elenco dei files - - - - - - - setta le directory - - - - - - oggetto WebClient - - - - - inizializza il metodo alla cartella indicata - - - non serve +... x retrocompatibilità... - - - - metodo di avvio empty - - - - - cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile - - - - - - - cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile - - - - - - - - cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath - - - - - - - Legge i dati da uno stream fino a quando arriva alla fine. - I dati sono restituiti come un byte[] array. un eccezione IOException è - sollevata se una delle chiamate IO sottostanti fallisce. - - Lo stream da cui leggere - Lunghezza buffer iniziale (-1 = default 32k) - - - - verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo - - - - - - ottiene il dataset dei files presenti nella directory indicata esplicitamente - - dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) ) - - - - - ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto - - - - - - ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto - - - - - - elenco dei files come array di oggetti FileInfo - - - - - - elenco dei files come array di oggetti FileInfo filtrati per parametro - - - - - - - elimina la directory di lavoro se è dir virtuale mappata - - - - - - elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno - - regexp selezione files in dir (* = tutti!!!) - - - - - verifica se il file indicato esista in workDir - - - - - - - elimina il file indicato dalla directory di lavoro - - - - - - - restituisce lo stream del file richiesto - - - - - - - restituisce la stringa letta dal file richiesto - - - - - - - scrive il file dallo stream byte[] inviato - - - - - - - - scrive il file dalla stringa inviata - - - - - - - - converte una string in un byte[] - - - - - - - converte un byte[] in una string - - - - - - - sposta il file da From a To... - - - - - - - - - copia il file da From a To... - - - - - - - - - copia il file da From a To... - - - - - - - - - - imposta la dir di lavoro - - - - - - imposta la dir di lavoro - - - non serve +... x retrocompatibilità... - - - - imposta la dir di lavoro impostandola dal mapPath corretto della web app... - - - - - - esegue un comando in shell - - - - - - - - - esegue un comando in shell - - - - - - - - - Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto - - url del file - nome con cui salvare il file - - - - - comprime zip il file indicato - - - - - - - comprime zip i files corrispondenti alla RegExp indicata nella dir corrente - - Espressione ricerca, come *.txt - Nome del file zip da creare - - - - - calcola la dim della directory corrente... - - - - - - - elimina il file + vecchio - - - - - - - versione statica (singleton) del'oggetto fileMover - - - - - classe per effettuare confronto tra valori disomogeneri per tipo e costruire diff testuali - - - - - valore originale - - - - - nuovo valore - - - - - dictionary dei parametri vecchi - - - - - dictionary dei parametri nuovi - - - - - inizializzazione classe - - - - - valorizza i diff dei valori old e new - - - - - calcola solo il vettore dei valori old (x delete) - - - - - oggetto statico per il confronto valori - - - - - stringa diff dei valori originali modificati - - - - - stringa diff dei valori nuovi modificati - - - - - dictionary dei parametri old - - - - - dictionary dei parametri new - - - - - classe gestione logging esteso di eventi e note utente (correlabili) - - - - - TableAdapter di accesso alla tabella anagrafica filtraggi - - - - - TableAdapter di accesso alla tabella anagrafica record - - - - - TableAdapter di accesso alla tabella logging record di eventi - - - - - TableAdapter di accesso alla tabella logging utente - - - - - TableAdapter di accesso alla vista logging eventi - - - - - TableAdapter di accesso alla vista logging utente - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - avvio i tari tableAdapters - - - - - avvio della classe istanziando db e - - - - - oggetto statico di accesso ai metodi della classe... - - - - - tabella eventi - - - - - - tabella note - - - - - - tabella eventi secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - tabella note secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - tabella eventi secondo filtro e condizione ulteriore WHERE esplicitata - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}" - - - - - tabella note secondo filtro e condizione ulteriore WHERE esplicitata - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}" - - - - - tabella note secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - inserisce l'evento indicato dai parametri - - user che ha generato l'evento - pagina/form applicaizone in cui l'evento si è generato - valore originale(se c'è) - valore nuovo/modificato - descrizione evento (poi gestita con anagrafica interna) - filtro logico evento (poi gestita con anagrafica interna) - - - - inserisce la nota utente indicata dai parametri, restituisce idx della nota creata... - - user che ha inserito la nota - testo della nota - valore ulteriore da associare alla nota (es: label, codice, versione, ...) - filtro logico evento (poi gestita con anagrafica interna) - intero dell'idx della nota creata - - - - associa l'evento e la nota indicati - - idx del record da associare - idx chiave della nota da associare - - - - associa l'ultimo evento del filtro indicato alla nota - - filtro associato all'ultimo evento... - idx chiave della nota da associare - - - - segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati - - utente generatore dell'evento - - - - segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati - - utente generatore dell'evento - - - - Elimina gli eventi cestinati generati dall'utente indicato - - utente generatore dell'evento - - - - Elimina gli eventi cestinati anteriori alla data selezionata - - dataOra dell'evento - - - - effettua la registrazione dell'evento in session - - - - - metodo di comportamento del controllo di logging - - - - - nasconde pannello log - - - - - memorizza log inserito - - - - - mostra pannello log - - - - - metodo di comportamento del controllo di logging - - - - - indica il primo step del doppio livello di approvazione (completamento) - - - - - SOLO con incremento indice di revisione dell'oggetto approvato - - - - - SOLO mantenendo indice di revisione corrente - - - - - permette SIA con revisione che senza (e anche rev -1) - - - - - Pagina base applicazioni SteamWare da cui derivare le altre - - - - - Iniziazlizzazione void (non fa nulla) - - - - - Metodo MAIN: viene eseguita al caricamento ed effettua delle routines per il controllo utente e istanzia l'oggetto memLayer - - - - - - - rimanda alla pagina di Work In Progress salvando in session un titolo ed una descrizione che al pagina wip poi mostrerà all'utente - - titolo da mostrare nella pagina WIP - descrizione da mostrare nella pagina WIP - diff --git a/GMW/GMW_Term/obj/Debug/GMW_Term.dll b/GMW/GMW_Term/obj/Debug/GMW_Term.dll index 04823a61..bc1e2dda 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 30e269f0..f55ea88d 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_data/DS_magazzino.Designer.cs b/GMW/GMW_data/DS_magazzino.Designer.cs index 27f4762e..0937ff7a 100644 --- a/GMW/GMW_data/DS_magazzino.Designer.cs +++ b/GMW/GMW_data/DS_magazzino.Designer.cs @@ -61,6 +61,8 @@ namespace GMW_data { private AnagPosizioniDataTable tableAnagPosizioni; + private V_statoCelleCapienzaAssegnatiDataTable tableV_statoCelleCapienzaAssegnati; + private global::System.Data.DataRelation relationFK_PosizioneUdcCorrente_ElencoCartellini; private global::System.Data.DataRelation relationFK_PosizioneUdcStorico_ElencoCartellini; @@ -161,6 +163,9 @@ namespace GMW_data { if ((ds.Tables["AnagPosizioni"] != null)) { base.Tables.Add(new AnagPosizioniDataTable(ds.Tables["AnagPosizioni"])); } + if ((ds.Tables["V_statoCelleCapienzaAssegnati"] != null)) { + base.Tables.Add(new V_statoCelleCapienzaAssegnatiDataTable(ds.Tables["V_statoCelleCapienzaAssegnati"])); + } this.DataSetName = ds.DataSetName; this.Prefix = ds.Prefix; this.Namespace = ds.Namespace; @@ -341,6 +346,15 @@ namespace GMW_data { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.ComponentModel.Browsable(false)] + [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)] + public V_statoCelleCapienzaAssegnatiDataTable V_statoCelleCapienzaAssegnati { + get { + return this.tableV_statoCelleCapienzaAssegnati; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.ComponentModel.BrowsableAttribute(true)] [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)] @@ -454,6 +468,9 @@ namespace GMW_data { if ((ds.Tables["AnagPosizioni"] != null)) { base.Tables.Add(new AnagPosizioniDataTable(ds.Tables["AnagPosizioni"])); } + if ((ds.Tables["V_statoCelleCapienzaAssegnati"] != null)) { + base.Tables.Add(new V_statoCelleCapienzaAssegnatiDataTable(ds.Tables["V_statoCelleCapienzaAssegnati"])); + } this.DataSetName = ds.DataSetName; this.Prefix = ds.Prefix; this.Namespace = ds.Namespace; @@ -592,6 +609,12 @@ namespace GMW_data { this.tableAnagPosizioni.InitVars(); } } + this.tableV_statoCelleCapienzaAssegnati = ((V_statoCelleCapienzaAssegnatiDataTable)(base.Tables["V_statoCelleCapienzaAssegnati"])); + if ((initTable == true)) { + if ((this.tableV_statoCelleCapienzaAssegnati != null)) { + this.tableV_statoCelleCapienzaAssegnati.InitVars(); + } + } this.relationFK_PosizioneUdcCorrente_ElencoCartellini = this.Relations["FK_PosizioneUdcCorrente_ElencoCartellini"]; this.relationFK_PosizioneUdcStorico_ElencoCartellini = this.Relations["FK_PosizioneUdcStorico_ElencoCartellini"]; this.relationFK_Blocchi_AnagMag = this.Relations["FK_Blocchi_AnagMag"]; @@ -647,6 +670,8 @@ namespace GMW_data { base.Tables.Add(this.tablev_particolariEsponenteFigura); this.tableAnagPosizioni = new AnagPosizioniDataTable(); base.Tables.Add(this.tableAnagPosizioni); + this.tableV_statoCelleCapienzaAssegnati = new V_statoCelleCapienzaAssegnatiDataTable(); + base.Tables.Add(this.tableV_statoCelleCapienzaAssegnati); this.relationFK_PosizioneUdcCorrente_ElencoCartellini = new global::System.Data.DataRelation("FK_PosizioneUdcCorrente_ElencoCartellini", new global::System.Data.DataColumn[] { this.tableElencoCartellini.UDCColumn}, new global::System.Data.DataColumn[] { this.tablePosizioneUdcCorrente.UDCColumn}, false); @@ -783,6 +808,11 @@ namespace GMW_data { return false; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + private bool ShouldSerializeV_statoCelleCapienzaAssegnati() { + return false; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) { if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) { @@ -872,6 +902,8 @@ namespace GMW_data { public delegate void AnagPosizioniRowChangeEventHandler(object sender, AnagPosizioniRowChangeEvent e); + public delegate void V_statoCelleCapienzaAssegnatiRowChangeEventHandler(object sender, V_statoCelleCapienzaAssegnatiRowChangeEvent e); + /// ///Represents the strongly named DataTable class. /// @@ -7197,6 +7229,295 @@ namespace GMW_data { } } + /// + ///Represents the strongly named DataTable class. + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")] + [global::System.Serializable()] + [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")] + public partial class V_statoCelleCapienzaAssegnatiDataTable : global::System.Data.TypedTableBase { + + private global::System.Data.DataColumn columnIdxCella; + + private global::System.Data.DataColumn columnCodCella; + + private global::System.Data.DataColumn columnCapienza; + + private global::System.Data.DataColumn columnUdcAssegnati; + + private global::System.Data.DataColumn columnPiena; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiDataTable() { + this.TableName = "V_statoCelleCapienzaAssegnati"; + this.BeginInit(); + this.InitClass(); + this.EndInit(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal V_statoCelleCapienzaAssegnatiDataTable(global::System.Data.DataTable table) { + this.TableName = table.TableName; + if ((table.CaseSensitive != table.DataSet.CaseSensitive)) { + this.CaseSensitive = table.CaseSensitive; + } + if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) { + this.Locale = table.Locale; + } + if ((table.Namespace != table.DataSet.Namespace)) { + this.Namespace = table.Namespace; + } + this.Prefix = table.Prefix; + this.MinimumCapacity = table.MinimumCapacity; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected V_statoCelleCapienzaAssegnatiDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : + base(info, context) { + this.InitVars(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn IdxCellaColumn { + get { + return this.columnIdxCella; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn CodCellaColumn { + get { + return this.columnCodCella; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn CapienzaColumn { + get { + return this.columnCapienza; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn UdcAssegnatiColumn { + get { + return this.columnUdcAssegnati; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataColumn PienaColumn { + get { + return this.columnPiena; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.ComponentModel.Browsable(false)] + public int Count { + get { + return this.Rows.Count; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRow this[int index] { + get { + return ((V_statoCelleCapienzaAssegnatiRow)(this.Rows[index])); + } + } + + public event V_statoCelleCapienzaAssegnatiRowChangeEventHandler V_statoCelleCapienzaAssegnatiRowChanging; + + public event V_statoCelleCapienzaAssegnatiRowChangeEventHandler V_statoCelleCapienzaAssegnatiRowChanged; + + public event V_statoCelleCapienzaAssegnatiRowChangeEventHandler V_statoCelleCapienzaAssegnatiRowDeleting; + + public event V_statoCelleCapienzaAssegnatiRowChangeEventHandler V_statoCelleCapienzaAssegnatiRowDeleted; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public void AddV_statoCelleCapienzaAssegnatiRow(V_statoCelleCapienzaAssegnatiRow row) { + this.Rows.Add(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRow AddV_statoCelleCapienzaAssegnatiRow(int IdxCella, string CodCella, int Capienza, int UdcAssegnati, bool Piena) { + V_statoCelleCapienzaAssegnatiRow rowV_statoCelleCapienzaAssegnatiRow = ((V_statoCelleCapienzaAssegnatiRow)(this.NewRow())); + object[] columnValuesArray = new object[] { + IdxCella, + CodCella, + Capienza, + UdcAssegnati, + Piena}; + rowV_statoCelleCapienzaAssegnatiRow.ItemArray = columnValuesArray; + this.Rows.Add(rowV_statoCelleCapienzaAssegnatiRow); + return rowV_statoCelleCapienzaAssegnatiRow; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRow FindByIdxCella(int IdxCella) { + return ((V_statoCelleCapienzaAssegnatiRow)(this.Rows.Find(new object[] { + IdxCella}))); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public override global::System.Data.DataTable Clone() { + V_statoCelleCapienzaAssegnatiDataTable cln = ((V_statoCelleCapienzaAssegnatiDataTable)(base.Clone())); + cln.InitVars(); + return cln; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override global::System.Data.DataTable CreateInstance() { + return new V_statoCelleCapienzaAssegnatiDataTable(); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal void InitVars() { + this.columnIdxCella = base.Columns["IdxCella"]; + this.columnCodCella = base.Columns["CodCella"]; + this.columnCapienza = base.Columns["Capienza"]; + this.columnUdcAssegnati = base.Columns["UdcAssegnati"]; + this.columnPiena = base.Columns["Piena"]; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + private void InitClass() { + this.columnIdxCella = new global::System.Data.DataColumn("IdxCella", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnIdxCella); + this.columnCodCella = new global::System.Data.DataColumn("CodCella", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCodCella); + this.columnCapienza = new global::System.Data.DataColumn("Capienza", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnCapienza); + this.columnUdcAssegnati = new global::System.Data.DataColumn("UdcAssegnati", typeof(int), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnUdcAssegnati); + this.columnPiena = new global::System.Data.DataColumn("Piena", typeof(bool), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPiena); + this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { + this.columnIdxCella}, true)); + this.columnIdxCella.AllowDBNull = false; + this.columnIdxCella.Unique = true; + this.columnCodCella.AllowDBNull = false; + this.columnCodCella.MaxLength = 50; + this.columnCapienza.AllowDBNull = false; + this.columnPiena.AllowDBNull = false; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRow NewV_statoCelleCapienzaAssegnatiRow() { + return ((V_statoCelleCapienzaAssegnatiRow)(this.NewRow())); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) { + return new V_statoCelleCapienzaAssegnatiRow(builder); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override global::System.Type GetRowType() { + return typeof(V_statoCelleCapienzaAssegnatiRow); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanged(e); + if ((this.V_statoCelleCapienzaAssegnatiRowChanged != null)) { + this.V_statoCelleCapienzaAssegnatiRowChanged(this, new V_statoCelleCapienzaAssegnatiRowChangeEvent(((V_statoCelleCapienzaAssegnatiRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowChanging(e); + if ((this.V_statoCelleCapienzaAssegnatiRowChanging != null)) { + this.V_statoCelleCapienzaAssegnatiRowChanging(this, new V_statoCelleCapienzaAssegnatiRowChangeEvent(((V_statoCelleCapienzaAssegnatiRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleted(e); + if ((this.V_statoCelleCapienzaAssegnatiRowDeleted != null)) { + this.V_statoCelleCapienzaAssegnatiRowDeleted(this, new V_statoCelleCapienzaAssegnatiRowChangeEvent(((V_statoCelleCapienzaAssegnatiRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) { + base.OnRowDeleting(e); + if ((this.V_statoCelleCapienzaAssegnatiRowDeleting != null)) { + this.V_statoCelleCapienzaAssegnatiRowDeleting(this, new V_statoCelleCapienzaAssegnatiRowChangeEvent(((V_statoCelleCapienzaAssegnatiRow)(e.Row)), e.Action)); + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public void RemoveV_statoCelleCapienzaAssegnatiRow(V_statoCelleCapienzaAssegnatiRow row) { + this.Rows.Remove(row); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) { + global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType(); + global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence(); + DS_magazzino ds = new DS_magazzino(); + global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny(); + any1.Namespace = "http://www.w3.org/2001/XMLSchema"; + any1.MinOccurs = new decimal(0); + any1.MaxOccurs = decimal.MaxValue; + any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any1); + global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny(); + any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"; + any2.MinOccurs = new decimal(1); + any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax; + sequence.Items.Add(any2); + global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute1.Name = "namespace"; + attribute1.FixedValue = ds.Namespace; + type.Attributes.Add(attribute1); + global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute(); + attribute2.Name = "tableTypeName"; + attribute2.FixedValue = "V_statoCelleCapienzaAssegnatiDataTable"; + type.Attributes.Add(attribute2); + type.Particle = sequence; + global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable(); + if (xs.Contains(dsSchema.TargetNamespace)) { + global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream(); + global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream(); + try { + global::System.Xml.Schema.XmlSchema schema = null; + dsSchema.Write(s1); + for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) { + schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current)); + s2.SetLength(0); + schema.Write(s2); + if ((s1.Length == s2.Length)) { + s1.Position = 0; + s2.Position = 0; + for (; ((s1.Position != s1.Length) + && (s1.ReadByte() == s2.ReadByte())); ) { + ; + } + if ((s1.Position == s1.Length)) { + return type; + } + } + } + } + finally { + if ((s1 != null)) { + s1.Close(); + } + if ((s2 != null)) { + s2.Close(); + } + } + } + xs.Add(dsSchema); + return type; + } + } + /// ///Represents strongly named DataRow class. /// @@ -10768,6 +11089,87 @@ namespace GMW_data { } } + /// + ///Represents strongly named DataRow class. + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")] + public partial class V_statoCelleCapienzaAssegnatiRow : global::System.Data.DataRow { + + private V_statoCelleCapienzaAssegnatiDataTable tableV_statoCelleCapienzaAssegnati; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal V_statoCelleCapienzaAssegnatiRow(global::System.Data.DataRowBuilder rb) : + base(rb) { + this.tableV_statoCelleCapienzaAssegnati = ((V_statoCelleCapienzaAssegnatiDataTable)(this.Table)); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public int IdxCella { + get { + return ((int)(this[this.tableV_statoCelleCapienzaAssegnati.IdxCellaColumn])); + } + set { + this[this.tableV_statoCelleCapienzaAssegnati.IdxCellaColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public string CodCella { + get { + return ((string)(this[this.tableV_statoCelleCapienzaAssegnati.CodCellaColumn])); + } + set { + this[this.tableV_statoCelleCapienzaAssegnati.CodCellaColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public int Capienza { + get { + return ((int)(this[this.tableV_statoCelleCapienzaAssegnati.CapienzaColumn])); + } + set { + this[this.tableV_statoCelleCapienzaAssegnati.CapienzaColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public int UdcAssegnati { + get { + try { + return ((int)(this[this.tableV_statoCelleCapienzaAssegnati.UdcAssegnatiColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'UdcAssegnati\' in table \'V_statoCelleCapienzaAssegnati\' is D" + + "BNull.", e); + } + } + set { + this[this.tableV_statoCelleCapienzaAssegnati.UdcAssegnatiColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public bool Piena { + get { + return ((bool)(this[this.tableV_statoCelleCapienzaAssegnati.PienaColumn])); + } + set { + this[this.tableV_statoCelleCapienzaAssegnati.PienaColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public bool IsUdcAssegnatiNull() { + return this.IsNull(this.tableV_statoCelleCapienzaAssegnati.UdcAssegnatiColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public void SetUdcAssegnatiNull() { + this[this.tableV_statoCelleCapienzaAssegnati.UdcAssegnatiColumn] = global::System.Convert.DBNull; + } + } + /// ///Row event argument class /// @@ -11325,6 +11727,37 @@ namespace GMW_data { } } } + + /// + ///Row event argument class + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")] + public class V_statoCelleCapienzaAssegnatiRowChangeEvent : global::System.EventArgs { + + private V_statoCelleCapienzaAssegnatiRow eventRow; + + private global::System.Data.DataRowAction eventAction; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRowChangeEvent(V_statoCelleCapienzaAssegnatiRow row, global::System.Data.DataRowAction action) { + this.eventRow = row; + this.eventAction = action; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiRow Row { + get { + return this.eventRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public global::System.Data.DataRowAction Action { + get { + return this.eventAction; + } + } + } } } namespace GMW_data.DS_magazzinoTableAdapters { @@ -20288,6 +20721,227 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx } } + /// + ///Represents the connection and commands used to retrieve and save data. + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")] + [global::System.ComponentModel.DesignerCategoryAttribute("code")] + [global::System.ComponentModel.ToolboxItem(true)] + [global::System.ComponentModel.DataObjectAttribute(true)] + [global::System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner" + + ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + public partial class V_statoCelleCapienzaAssegnatiTableAdapter : global::System.ComponentModel.Component { + + private global::System.Data.SqlClient.SqlDataAdapter _adapter; + + private global::System.Data.SqlClient.SqlConnection _connection; + + private global::System.Data.SqlClient.SqlTransaction _transaction; + + private global::System.Data.SqlClient.SqlCommand[] _commandCollection; + + private bool _clearBeforeFill; + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public V_statoCelleCapienzaAssegnatiTableAdapter() { + this.ClearBeforeFill = true; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected internal global::System.Data.SqlClient.SqlDataAdapter Adapter { + get { + if ((this._adapter == null)) { + this.InitAdapter(); + } + return this._adapter; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal global::System.Data.SqlClient.SqlConnection Connection { + get { + if ((this._connection == null)) { + this.InitConnection(); + } + return this._connection; + } + set { + this._connection = value; + if ((this.Adapter.InsertCommand != null)) { + this.Adapter.InsertCommand.Connection = value; + } + if ((this.Adapter.DeleteCommand != null)) { + this.Adapter.DeleteCommand.Connection = value; + } + if ((this.Adapter.UpdateCommand != null)) { + this.Adapter.UpdateCommand.Connection = value; + } + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + if ((this.CommandCollection[i] != null)) { + ((global::System.Data.SqlClient.SqlCommand)(this.CommandCollection[i])).Connection = value; + } + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + internal global::System.Data.SqlClient.SqlTransaction Transaction { + get { + return this._transaction; + } + set { + this._transaction = value; + for (int i = 0; (i < this.CommandCollection.Length); i = (i + 1)) { + this.CommandCollection[i].Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.DeleteCommand != null))) { + this.Adapter.DeleteCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.InsertCommand != null))) { + this.Adapter.InsertCommand.Transaction = this._transaction; + } + if (((this.Adapter != null) + && (this.Adapter.UpdateCommand != null))) { + this.Adapter.UpdateCommand.Transaction = this._transaction; + } + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + protected global::System.Data.SqlClient.SqlCommand[] CommandCollection { + get { + if ((this._commandCollection == null)) { + this.InitCommandCollection(); + } + return this._commandCollection; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + public bool ClearBeforeFill { + get { + return this._clearBeforeFill; + } + set { + this._clearBeforeFill = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + private void InitAdapter() { + this._adapter = new global::System.Data.SqlClient.SqlDataAdapter(); + global::System.Data.Common.DataTableMapping tableMapping = new global::System.Data.Common.DataTableMapping(); + tableMapping.SourceTable = "Table"; + tableMapping.DataSetTable = "V_statoCelleCapienzaAssegnati"; + tableMapping.ColumnMappings.Add("IdxCella", "IdxCella"); + tableMapping.ColumnMappings.Add("CodCella", "CodCella"); + tableMapping.ColumnMappings.Add("Capienza", "Capienza"); + tableMapping.ColumnMappings.Add("UdcAssegnati", "UdcAssegnati"); + tableMapping.ColumnMappings.Add("Piena", "Piena"); + this._adapter.TableMappings.Add(tableMapping); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + private void InitConnection() { + this._connection = new global::System.Data.SqlClient.SqlConnection(); + this._connection.ConnectionString = global::GMW_data.Properties.Settings.Default.GMWConnectionString; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + private void InitCommandCollection() { + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4]; + this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[0].Connection = this.Connection; + this._commandCollection[0].CommandText = "SELECT IdxCella, CodCella, Capienza, UdcAssegnati, Piena FROM dbo.V_statoCelleCap" + + "ienzaAssegnati"; + 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 = "dbo.stp_StatoCelleByCodCella"; + this._commandCollection[1].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodCella", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[2].Connection = this.Connection; + this._commandCollection[2].CommandText = "dbo.stp_StatoCelleByIdxCella"; + this._commandCollection[2].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxCella", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[3].Connection = this.Connection; + this._commandCollection[3].CommandText = "dbo.stp_StatoCelleOverbooked"; + this._commandCollection[3].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Fill, true)] + public virtual int Fill(DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable dataTable) { + this.Adapter.SelectCommand = this.CommandCollection[0]; + if ((this.ClearBeforeFill == true)) { + dataTable.Clear(); + } + int returnValue = this.Adapter.Fill(dataTable); + return returnValue; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, true)] + public virtual DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable GetData() { + this.Adapter.SelectCommand = this.CommandCollection[0]; + DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable dataTable = new DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable(); + this.Adapter.Fill(dataTable); + 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.V_statoCelleCapienzaAssegnatiDataTable getByCodCella(string CodCella) { + this.Adapter.SelectCommand = this.CommandCollection[1]; + if ((CodCella == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(CodCella)); + } + DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable dataTable = new DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable(); + this.Adapter.Fill(dataTable); + 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.V_statoCelleCapienzaAssegnatiDataTable getByIdxCella(global::System.Nullable IdxCella) { + this.Adapter.SelectCommand = this.CommandCollection[2]; + if ((IdxCella.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[1].Value = ((int)(IdxCella.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable dataTable = new DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable(); + this.Adapter.Fill(dataTable); + 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.V_statoCelleCapienzaAssegnatiDataTable getOverbooked() { + this.Adapter.SelectCommand = this.CommandCollection[3]; + DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable dataTable = new DS_magazzino.V_statoCelleCapienzaAssegnatiDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + } + /// ///TableAdapterManager is used to coordinate TableAdapters in the dataset to enable Hierarchical Update scenarios /// @@ -20605,12 +21259,12 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(updatedRows); } } - if ((this._tipoListaPrelievoTableAdapter != null)) { - global::System.Data.DataRow[] updatedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + if ((this._anagPosizioniTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); if (((updatedRows != null) && (0 < updatedRows.Length))) { - result = (result + this._tipoListaPrelievoTableAdapter.Update(updatedRows)); + result = (result + this._anagPosizioniTableAdapter.Update(updatedRows)); allChangedRows.AddRange(updatedRows); } } @@ -20623,12 +21277,12 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(updatedRows); } } - if ((this._anagPosizioniTableAdapter != null)) { - global::System.Data.DataRow[] updatedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + if ((this._tipoListaPrelievoTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); if (((updatedRows != null) && (0 < updatedRows.Length))) { - result = (result + this._anagPosizioniTableAdapter.Update(updatedRows)); + result = (result + this._tipoListaPrelievoTableAdapter.Update(updatedRows)); allChangedRows.AddRange(updatedRows); } } @@ -20650,15 +21304,6 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(updatedRows); } } - if ((this._posizioneUdcCorrenteTableAdapter != null)) { - global::System.Data.DataRow[] updatedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); - updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); - if (((updatedRows != null) - && (0 < updatedRows.Length))) { - result = (result + this._posizioneUdcCorrenteTableAdapter.Update(updatedRows)); - allChangedRows.AddRange(updatedRows); - } - } if ((this._righeListePrelievoTableAdapter != null)) { global::System.Data.DataRow[] updatedRows = dataSet.RigheListePrelievo.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); @@ -20668,12 +21313,12 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(updatedRows); } } - if ((this._anagImballiTableAdapter != null)) { - global::System.Data.DataRow[] updatedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + if ((this._tipoCellaTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); if (((updatedRows != null) && (0 < updatedRows.Length))) { - result = (result + this._anagImballiTableAdapter.Update(updatedRows)); + result = (result + this._tipoCellaTableAdapter.Update(updatedRows)); allChangedRows.AddRange(updatedRows); } } @@ -20686,12 +21331,21 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(updatedRows); } } - if ((this._tipoCellaTableAdapter != null)) { - global::System.Data.DataRow[] updatedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + if ((this._posizioneUdcCorrenteTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); if (((updatedRows != null) && (0 < updatedRows.Length))) { - result = (result + this._tipoCellaTableAdapter.Update(updatedRows)); + result = (result + this._posizioneUdcCorrenteTableAdapter.Update(updatedRows)); + allChangedRows.AddRange(updatedRows); + } + } + if ((this._anagImballiTableAdapter != null)) { + global::System.Data.DataRow[] updatedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.ModifiedCurrent); + updatedRows = this.GetRealUpdatedRows(updatedRows, allAddedRows); + if (((updatedRows != null) + && (0 < updatedRows.Length))) { + result = (result + this._anagImballiTableAdapter.Update(updatedRows)); allChangedRows.AddRange(updatedRows); } } @@ -20712,11 +21366,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allAddedRows.AddRange(addedRows); } } - if ((this._tipoListaPrelievoTableAdapter != null)) { - global::System.Data.DataRow[] addedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.Added); + if ((this._anagPosizioniTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.Added); if (((addedRows != null) && (0 < addedRows.Length))) { - result = (result + this._tipoListaPrelievoTableAdapter.Update(addedRows)); + result = (result + this._anagPosizioniTableAdapter.Update(addedRows)); allAddedRows.AddRange(addedRows); } } @@ -20728,11 +21382,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allAddedRows.AddRange(addedRows); } } - if ((this._anagPosizioniTableAdapter != null)) { - global::System.Data.DataRow[] addedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.Added); + if ((this._tipoListaPrelievoTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.Added); if (((addedRows != null) && (0 < addedRows.Length))) { - result = (result + this._anagPosizioniTableAdapter.Update(addedRows)); + result = (result + this._tipoListaPrelievoTableAdapter.Update(addedRows)); allAddedRows.AddRange(addedRows); } } @@ -20752,14 +21406,6 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allAddedRows.AddRange(addedRows); } } - if ((this._posizioneUdcCorrenteTableAdapter != null)) { - global::System.Data.DataRow[] addedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.Added); - if (((addedRows != null) - && (0 < addedRows.Length))) { - result = (result + this._posizioneUdcCorrenteTableAdapter.Update(addedRows)); - allAddedRows.AddRange(addedRows); - } - } if ((this._righeListePrelievoTableAdapter != null)) { global::System.Data.DataRow[] addedRows = dataSet.RigheListePrelievo.Select(null, null, global::System.Data.DataViewRowState.Added); if (((addedRows != null) @@ -20768,11 +21414,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allAddedRows.AddRange(addedRows); } } - if ((this._anagImballiTableAdapter != null)) { - global::System.Data.DataRow[] addedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.Added); + if ((this._tipoCellaTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.Added); if (((addedRows != null) && (0 < addedRows.Length))) { - result = (result + this._anagImballiTableAdapter.Update(addedRows)); + result = (result + this._tipoCellaTableAdapter.Update(addedRows)); allAddedRows.AddRange(addedRows); } } @@ -20784,11 +21430,19 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allAddedRows.AddRange(addedRows); } } - if ((this._tipoCellaTableAdapter != null)) { - global::System.Data.DataRow[] addedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.Added); + if ((this._posizioneUdcCorrenteTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.Added); if (((addedRows != null) && (0 < addedRows.Length))) { - result = (result + this._tipoCellaTableAdapter.Update(addedRows)); + result = (result + this._posizioneUdcCorrenteTableAdapter.Update(addedRows)); + allAddedRows.AddRange(addedRows); + } + } + if ((this._anagImballiTableAdapter != null)) { + global::System.Data.DataRow[] addedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.Added); + if (((addedRows != null) + && (0 < addedRows.Length))) { + result = (result + this._anagImballiTableAdapter.Update(addedRows)); allAddedRows.AddRange(addedRows); } } @@ -20801,11 +21455,19 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] private int UpdateDeletedRows(DS_magazzino dataSet, global::System.Collections.Generic.List allChangedRows) { int result = 0; - if ((this._tipoCellaTableAdapter != null)) { - global::System.Data.DataRow[] deletedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if ((this._anagImballiTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.Deleted); if (((deletedRows != null) && (0 < deletedRows.Length))) { - result = (result + this._tipoCellaTableAdapter.Update(deletedRows)); + result = (result + this._anagImballiTableAdapter.Update(deletedRows)); + allChangedRows.AddRange(deletedRows); + } + } + if ((this._posizioneUdcCorrenteTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if (((deletedRows != null) + && (0 < deletedRows.Length))) { + result = (result + this._posizioneUdcCorrenteTableAdapter.Update(deletedRows)); allChangedRows.AddRange(deletedRows); } } @@ -20817,11 +21479,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(deletedRows); } } - if ((this._anagImballiTableAdapter != null)) { - global::System.Data.DataRow[] deletedRows = dataSet.AnagImballi.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if ((this._tipoCellaTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.TipoCella.Select(null, null, global::System.Data.DataViewRowState.Deleted); if (((deletedRows != null) && (0 < deletedRows.Length))) { - result = (result + this._anagImballiTableAdapter.Update(deletedRows)); + result = (result + this._tipoCellaTableAdapter.Update(deletedRows)); allChangedRows.AddRange(deletedRows); } } @@ -20833,14 +21495,6 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(deletedRows); } } - if ((this._posizioneUdcCorrenteTableAdapter != null)) { - global::System.Data.DataRow[] deletedRows = dataSet.PosizioneUdcCorrente.Select(null, null, global::System.Data.DataViewRowState.Deleted); - if (((deletedRows != null) - && (0 < deletedRows.Length))) { - result = (result + this._posizioneUdcCorrenteTableAdapter.Update(deletedRows)); - allChangedRows.AddRange(deletedRows); - } - } if ((this._celleTableAdapter != null)) { global::System.Data.DataRow[] deletedRows = dataSet.Celle.Select(null, null, global::System.Data.DataViewRowState.Deleted); if (((deletedRows != null) @@ -20857,11 +21511,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(deletedRows); } } - if ((this._anagPosizioniTableAdapter != null)) { - global::System.Data.DataRow[] deletedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if ((this._tipoListaPrelievoTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.Deleted); if (((deletedRows != null) && (0 < deletedRows.Length))) { - result = (result + this._anagPosizioniTableAdapter.Update(deletedRows)); + result = (result + this._tipoListaPrelievoTableAdapter.Update(deletedRows)); allChangedRows.AddRange(deletedRows); } } @@ -20873,11 +21527,11 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx allChangedRows.AddRange(deletedRows); } } - if ((this._tipoListaPrelievoTableAdapter != null)) { - global::System.Data.DataRow[] deletedRows = dataSet.TipoListaPrelievo.Select(null, null, global::System.Data.DataViewRowState.Deleted); + if ((this._anagPosizioniTableAdapter != null)) { + global::System.Data.DataRow[] deletedRows = dataSet.AnagPosizioni.Select(null, null, global::System.Data.DataViewRowState.Deleted); if (((deletedRows != null) && (0 < deletedRows.Length))) { - result = (result + this._tipoListaPrelievoTableAdapter.Update(deletedRows)); + result = (result + this._anagPosizioniTableAdapter.Update(deletedRows)); allChangedRows.AddRange(deletedRows); } } diff --git a/GMW/GMW_data/DS_magazzino.xsd b/GMW/GMW_data/DS_magazzino.xsd index b9bb5527..91535fa5 100644 --- a/GMW/GMW_data/DS_magazzino.xsd +++ b/GMW/GMW_data/DS_magazzino.xsd @@ -1955,6 +1955,59 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx + + + + + + SELECT IdxCella, CodCella, Capienza, UdcAssegnati, Piena FROM dbo.V_statoCelleCapienzaAssegnati + + + + + + + + + + + + + + + + + dbo.stp_StatoCelleByCodCella + + + + + + + + + + + dbo.stp_StatoCelleByIdxCella + + + + + + + + + + + dbo.stp_StatoCelleOverbooked + + + + + + + + @@ -1966,273 +2019,127 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - - + + + + - - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2247,17 +2154,17 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - - - - - - - + + + + + + + - + @@ -2267,14 +2174,271 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2288,101 +2452,319 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - + + + + + + + + + + - + - - - - - - - - + - - - - - - - - - - - + - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + - + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2399,350 +2781,21 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2755,8 +2808,8 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx - - + + @@ -2766,6 +2819,23 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx + + + + + + + + + + + + + + + + + @@ -2854,6 +2924,10 @@ SELECT IdxPosizione, DescPosizione FROM AnagPosizioni WHERE (IdxPosizione = @Idx + + + + diff --git a/GMW/GMW_data/DS_magazzino.xss b/GMW/GMW_data/DS_magazzino.xss index 0839878f..842a7e63 100644 --- a/GMW/GMW_data/DS_magazzino.xss +++ b/GMW/GMW_data/DS_magazzino.xss @@ -6,27 +6,28 @@ --> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + 368 @@ -38,7 +39,7 @@ - + 368 @@ -50,7 +51,7 @@ - + 1116 @@ -62,7 +63,7 @@ - + 712 @@ -74,7 +75,7 @@ - + 1014 @@ -86,7 +87,7 @@ - + 1107 @@ -98,7 +99,7 @@ - + 133 @@ -110,7 +111,7 @@ - + 393 @@ -122,7 +123,7 @@ - + 735 @@ -134,7 +135,7 @@ - + 392 diff --git a/GMW/GMW_data/MagClass.cs b/GMW/GMW_data/MagClass.cs index 7954d201..c3a36da7 100644 --- a/GMW/GMW_data/MagClass.cs +++ b/GMW/GMW_data/MagClass.cs @@ -30,6 +30,7 @@ namespace GMW_data public DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter taTipoListaPrelievo; public DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter taVParticolariOverwiew; public DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter taPartExpFig; + public DS_magazzinoTableAdapters.V_statoCelleCapienzaAssegnatiTableAdapter taStatoCelle; /// @@ -55,6 +56,7 @@ namespace GMW_data taTipoListaPrelievo = new GMW_data.DS_magazzinoTableAdapters.TipoListaPrelievoTableAdapter(); taVParticolariOverwiew = new GMW_data.DS_magazzinoTableAdapters.V_ParticolariOverviewTableAdapter(); taPartExpFig = new GMW_data.DS_magazzinoTableAdapters.v_particolariEsponenteFiguraTableAdapter(); + taStatoCelle = new GMW_data.DS_magazzinoTableAdapters.V_statoCelleCapienzaAssegnatiTableAdapter(); } /// /// effettua setup dei connection strings da web.config delal singola applicazione @@ -79,6 +81,7 @@ namespace GMW_data taTipoListaPrelievo.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); taVParticolariOverwiew.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); taPartExpFig.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); + taStatoCelle.Connection.ConnectionString = memLayer.ML.confReadString("GMWConnectionString"); } #endregion @@ -170,16 +173,20 @@ namespace GMW_data /// Cella di destinazione /// Codice posizione UDC finale /// esito comando - public bool caricaUDC(string CodCS, string UDC, int IdxCellaTo, int IdxPosizUdc) + public bool caricaUDC(string CodCS, string UDC, int IdxCellaTo) { bool answ = false; - //try - //{ - // taPosUdcCorr.stp_scaricaUdc(CodCS, UDC, IdxCellaFrom, IdxPosizUdc); - // answ = true; - //} - //catch - //{ } + try + { + taPosUdcCorr.stp_spostaUdc(CodCS, UDC, 0, IdxCellaTo); + // cerco nuova posizione... + if (taPosUdcCorr.getByCellaUdc(UDC, IdxCellaTo).Rows.Count > 0) + { + answ = true; + } + } + catch + { } return answ; } /// diff --git a/GMW/GMW_data/TermClass.cs b/GMW/GMW_data/TermClass.cs index a250abcc..b523568f 100644 --- a/GMW/GMW_data/TermClass.cs +++ b/GMW/GMW_data/TermClass.cs @@ -839,6 +839,11 @@ namespace GMW_data answ = tipoCodiceBarcode.UDC; break; default: + // cerco se la stringa intera abbia un match con le celle... + if (MagClass.magazzino.taCelle.getByCodCella(barcodeIN).Rows.Count == 1) + { + answ = tipoCodiceBarcode.Cella; + } break; } return answ; @@ -871,8 +876,11 @@ public enum tipoCodiceBarcode /// /// [P] - il barcode rappresenta un particolare /// - Particolare - + Particolare, + /// + /// Cella + /// + Cella } /// /// elenco degli esiti per una sessione di login da terminalino diff --git a/GMW/GMW_data/bin/Debug/GMW_data.dll b/GMW/GMW_data/bin/Debug/GMW_data.dll index 7aab672f..45a63e2f 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.xml b/GMW/GMW_data/bin/Debug/SteamWare.xml index 64eda3e0..6809ec2a 100644 --- a/GMW/GMW_data/bin/Debug/SteamWare.xml +++ b/GMW/GMW_data/bin/Debug/SteamWare.xml @@ -4,3161 +4,5 @@ SteamWare - - - classe gesione log files applicazioni - - - - - directory base x logs - - - - - nome del file corrente - - - - - max mb di log da accumulare - - - - - singleton del logger - - - - - avvio del logger nella dir desiderata - - - - - avvio del logger nella dir desiderata - - - - - avvio del logger nella dir desiderata con il max di dati indicato - - - - - scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?) - - testo iniziale del log - - - - - scrive un messaggio di log con etichetta pre - - testo messaggio - tipo di log da registrare (etichetta [...]) - - - - - fornisce il nome del file in cui loggare (ed eventualmente crea...) - - - - - provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb - - - - - fornisce il file + vecchio - - - - - - - tipo di log ammesso - - - - - informazioni di debug - - - - - errori - - - - - eccezioni nell'esecuzione try/catch - - - - - errori fatali - - - - - informazioni opzionali - - - - - fase di avvio componente - - - - - avvisi - - - - - classe di wrap verso i TableAdapter impiegati - - - - - metodo protected di avvio della classe - - - - - procedura di avvio dei tableAdapter - - - - - procedura di avvio dei tableAdapter - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - setup delle tabelle vocabolario - - - - - prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary - - - - - - tableAdapter diritti - - - - - tableAdapter permessi - - - - - tableAdapter funzione - - - - - tableAdapter permessi2funzione - - - - - tableAdapter CdC - - - - - tableAdapter utenti - - - - - table adapter lingue - - - - - table adapter vocabolario - - - - - table adapter versione vocabolario - - - - - table adapter versione anagrafica - - - - - oggetto vocabolario organizzato come dizionario con chiave lang#lemma e valore la traduzione - - - - - resetta il vocabolario rileggendo i dati... - - - - - crea nel db corrente il lemma richiesto e lo valorizza come "--{0}--" - - - - - - - classe singleton x la gestione dei tableadapters - - - - - elenco lingue ammesse da vocabolario... - - - - - classe di gestione lettura - - - - - esegue parsing fornendo dati ed headers - - - - - - - - esegue parsing fornendo dati - - - - - - - esegue parsing fornendo dati come stream - - - - - - - esegue parsing fornendo dati come stream ed headers - - - - - - - - struttura di comando da input utente (es: via barcode) - - - - - definisce se il comando sia valido o no - - - - - testo da mostrare dato il comando - - - - - comando registrato - - - - - comando precedentemente inserito - - - - - descrizione del comando - - - - - descrizione del comando precedente - - - - - valore del comando - - - - - valore tradotto del comando - - - - - costruttore del metodo... - - - - - Base class for every user control in the application, containing some common - behaviour and utility methods. - It is not meant to be be used directly. - - - - - tipo id controllo con classi di base comune da cui derivare gli *.asmx - - - - - nome della pagina correntemente caricata - - - - - memorizza la pagina precedente (ovvero la corrente ma non da page-object ma in session... - - - - - stringa con CDC in (...) dei cdc abilitati (da permesso gerarchicamente a discendere...) - - - - - stringa con elenco CDC abilitati (da permesso gerarchicamente a discendere...) - - - - - tabella diritti - - - - - tabella di tutti i cdc - - - - - tipo di anagrafica usata - - - - - importo il tipo di vista del modulo - - - - - elenco testuale csv dei cdc accessibili all'utente (x filtri tipo IN(...)) - - - - - numero di righe standard x i datagrid - - - - - numero di righe standard x i datagrid di anagrafica - - - - - numero di righe standard x i datagrid lunghi - - - - - numero di righe standard x i datagrid medi - - - - - numero di righe standard x i datagrid su mezza pagina - - - - - numero di righe standard x i selettori popup - - - - - indirizzo email dell'admin applicativo cui vanno le email in caso di anomalie... - - - - - indirizzo email dell'applicativo da cui partono le email in caso di anomalie... - - - - - indirizzo server SMTP - - - - - elenco delle pagine "safe" ovvero da non autorizzare - da web.config - - - - - elenco delle pagine "common" ovvero da autorizzare ma senza bisogno diritti in anagrafica - da web.config - - - - - valore che determina se è possibile forzare impersonificazioen utente... - - - - - livello di log (1-->5) - - - - - dir di logging - - - - - MAIN: esecuzione al caricamento del modulo delle routines di controllo utente e creazione pagina - - - - - - - predisposizione dati x pagina da cache/database a seconda della disponibilità in cache o refresh (B.1.4) - - - - - popola gli oggetti e le labels... (B.1.6) - - - - - disegna la pagina: prima i controlli poi il datagrid - - - - - aggiunge i link x i selettori - - - - - sistema i vari controlli della pagina - - - - - aggiorna eventuali datalist e datagrid - - - - - sistema tutte le labels traducendo i lemmi nella lingua utente ed in inglese - - - - - calcola come percentuale la radio dividendo/divisore - - - - - - - - limita una stringa al numero max di caratteri imposto - - - - - - - - Reads data from a stream until the end is reached. The - data is returned as a byte array. An IOException is - thrown if any of the underlying IO calls fail. - - The stream to read data from - The initial buffer length - - - - converte una data in formato aaaammgg in stringa gg/mm/aaaa - - - - - - - converte una data in formato aaaammgg in stringa aaaa-mm-gg - - - - - - - converte una stringa in formato gg/mm/aaaa in stringa(intero data) in formato aaaammgg - - - - - - - converte una datetime in un intero tipo yyyymmddhhmmss - - - - - - - formatta la data in formato dateTime in una data formato italiano come stringa gg/mm/aaaa - - - - - - - invia un alert jscript con messaggio indicato... - - messaggio dell'alert da mandare - - - - scrive immediatamente sulla pagina web il messaggio di avanzamento... - - - - - - restituisce una scringa formattata in testa e coda x essere un corretto comando javascript - - - - - - - invio email senza log - - - - - - - - - - invio email con log - - - - - - - - - - caricamento dati applicazione da sessione (B.1.3) - - - - - setup datamanagers... - - - - - reset update del modulo corrente - - - - - (ri)carica i dataset del modulo - - - - - verifica se tutti i dataset richiesti sono disponibili i cache - - - - - - salva nella cache i dataset caricati - - - - - carica dalla cache i dataset necessari - - - - - legge i valori standard x dataset e parametri - - - - - leggi i parametri di configurazione standard dell'applicativo - - - - - genera la stringa dei cdc autorizzati dell'utente - - - - - legge il dataset dei CdC - - - - - caricamento dati user da sessione (B.1.1) - - - - - verifica che l'utente abbia almeno un permesso per la pagina corrente altrimenti redirect ad unauthorized - - - - - salva in variabile pagina il nome della pagina corrente - - - - - selezione delle posizioni cdc autorizzate come stringa di filtraggio su POSIZIONE LIKE, se non ce ne fossero redirige su unauthorized.aspx - - - - - - risponde alla domanda se l'utente abbia permesso tipo writable (S) nel permessi2funzione - - - - - - verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio da accodare al filtro x CdC autorizzati - - condizione - tipo di eguaglianza - nome parametro - valore parametro - - - - - crea la stringa di filtraggio x data secondo modalità tipo inizio/fine/durante... - - - - - - crea la stringa di filtraggio x data secondo modalità tipo minoreUguale / uguale / maggioreUguale... - - - - - - verifica la condizione booleana e formatta di conseguenza la stringa di filtraggio tipo LIKE x i campi inseriti separati da # SE valParam !="" - - - - - - - - esegue la ricerca dei cdc nelle posizioni indicate dal filtro e restituisce elenco distinct degli stessi - - filtro con cui cercare i cdc (del tipo " (POSIZIONE LIKE 'T.1.2.3%') OR ... " - stringa di filtraggio ricostruita per l'elenco dei cdc fino a quel momento trovati - ultimo cdc trovato - cdc corrente - - - - - restituisce il cdc dell'utente data la sua matricola - - - - - - - restituisce l'utente AS dall'utente win - - - - - - - restituisce la descr del CdC - - - - - - - invia la stringa jscript di conferma pre-cancellazione - - - - - - restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}" - - verrà usato x posizione {0}, tipo "view" - verrà usato x posizione {1}, tipo "_s.png" - - - - - restituisce la stringa del path corretto per l'immagine richiesta nel formato "~/images/{0}{1}" - - verrà usato x posizione {0}, tipo "view" - verrà usato x posizione {1}, tipo "_s.png" - tipo del file richiesto..." - - - - - effettua traduzione del lemma - - - - - - - effettua traduzione in inglese del lemma - - - - - - - definisce visibilità - - - - - - - effettua la registrazione degli eventi - - - - - effettua l'inserimento vero e proprio dell'evento letto dai valori in session x l'utente corrente... - - evento da loggare - valori originali - nuovi valori - filtro associato - - - - salva in sessione i valori indicati - - dictionary dei valori vecchi - dictionary dei valori nuovi - bool su abilitazione al log dell'oggetto - descrizione evento da loggare - filtro associato all'evento - restituisce il numero di elementi contenuti, -1 significa nessuna differenza... - - - - salva in sessione i valori per un oggetto che sta x essere eliminato - - dictionary dei valori vecchi - bool su abilitazione al log dell'oggetto - descrizione evento da loggare - filtro associato all'evento - restituisce il numero di elementi contenuti, -1 significa nessuna differenza... - - - - imposto il tipo di anagrafica del controlloS - - - - - variabile salvata in view state x la stringa di sorting - dg 2 - - - - - variabile salvata in view state x la stringa di sorting - dg 2 - - - - - legge e scrive in viewState la stringa di filtraggio... - - - - - variabile salvata in viewstate x la direzione del sorting - - - - - genera la stringa filtro x i cdc autorizzati x l'user - - - - - - tipo di vista del modulo - - - - - Summary description for selettori - - - - - - - - - - - - - - - carica i dati CdC se in cache o da TableAdapter - - - - - restituisce l'elenco di tutti i cdc - - - - - - restituisce l'elenco di tutti i cdc della gerarchia dell'utente - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe di gestione dei db x creazione/update alla versione richiesta - - - - - oggetto connessione - - - - - stringa di connessione - - - - - dir che contiene gli script da eseguire... - - - - - formato del file SQL impiegato (nel senso di formato come iFormat del tipo "App_{0:0000}.sql" --> da App_0001.sql ad App_9999.sql) - - - - - avvio protected della classe - - - - - esegue gli script di sql di update dal file richiesto - - - - - - - - Aggiorna il db eseguendo gli script dalla versione di partenza a quella di arrivo - - NB: per definizione rev 0 = resetta svuotando DB, rev 1 crea tabelle iniziali, rev 2 inserisce i valori di default - - nome DB di cui cercare script - revisione di partenza - revisione di arrivo - timeout max per ogni operazione - - - - - verifica se il db indicato esiste o meno... - - - - - - - - crea il db indicato con i parametri di connessione specificati - - - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe con funzioni specifiche di calcolo - - - - - inizializzazione classe - - - - - elenco dei caratteri base 36: 0..9A..Z - - - - - - converte da base di dimensione nBase a valore intero - - valore in formato nBase - base, max 36 (0..9A..Z) - - - - - metodo di accesso singleton - - - - - tipo di chart (2D/3D) - - - - - 2D - - - - - 3D - - - - - web control che disegna un grafico a torta - - - - - altezza di default - - - - - larghezza di default - - - - - padding di default - - - - - legenda visibile di default - - - - - soglia minima 5% per mostrare il dato - - - - - renderizza il contenuto - - - - - - disegna la leggenda html laterale... - - - - - - disegna piechart 2-dim - - - - - - disegna piechart 3d ellittica - - - - - - traduce la stringa colore in oggetto colore - - - - - - - converte intero a stringa esadecimale - - - - - - - converte stringa esadecimale a intero - - - - - - - tipo di grafico (2D/3D) - - - - - ampiezza del grafico - - - - - altezza del grafico - - - - - padding grafico/container - - - - - boolean se si debba mostrale la legenda - - - - - percentuale minima da mostrare - - - - - serie di dati (tipizzata) ma mostrare - - - - - testo associato al controllo - - - - - layer gestione vari tipi di memoria: cache, session... - - - - - lettore file configurazione - - - - - oggetto singleton x accesso al layer di memoria - - - - - classe gestione accessi a Session, cache, viewstate, configuration... - - - - - legge dalla config un valore bool - - - - - - - legge dalla config un valore string - - - - - - - legge dalla config un valore int - - - - - - - carica dalla sessione un dato di tipo object generico - - - - - - - carica dalla sessione un dato di tipo boolean (se vuoto false) - - - - - - - carica dalla sessione un dato di tipo string - - - - - - - carica dalla sessione un dato di tipo long - - - - - - - carica dalla sessione un dato di tipo int - - - - - - - inserisce in session un valore - - - - - - - salvo un valore come cookie - - - - - - - - restituisco un valore da cookie - - - - - - - inserisce in session un valore - - nome della variabile - valore associato - indica se debba sopravvivere ad update (inserita in elenco valSess2SurvUpd) - - - - - svuota una variabile dalla session - - - - - - restituisce true se è presente in session l'oggetto richiesto - - - - - - - carica dalla Cache un dato di tipo object generico - - - - - - - carica dalla Cachee un dato di tipo boolean (se vuoto false) - - - - - - - carica dalla Cachee un dato di tipo string - - - - - - - inserisce in Cache un valore - - nome della variabile - valore - - - - inserisce in Cache un valore e su richiesta regitra tra le tab in cache da svuotare on update.. - - nome della variabile - valore - da registrare come tabella da svuotare on update? - - - - - svuota una variabile dalla Cache - - - - - - restituisce true se è presente in cache l'oggetto richiesto - - - - - - - aggiunge la stringa corrente nel dictionary delle tabelle messe in cache e da aggiornare su comando update - - - - - - aggiunge la stringa corrente nel dictionary delle tabelle messe in session che vanno preservate da comando update (es: oggetto selezionato...) - - - - - - - forza lo svuotamento delel tabelle indicate come in cache... - - - - - elenco dictionary delle tab in cache da aggiornare con update svuotando da cache... - - - - - elenco dictionary dei valori in session da NON aggiornare con update... - - - - - classe gestione parametri deviceper stampa - - - - - creazione oggetto parametri per stampa - - - - - - - - - - - - formato output - - - - - altezza - - - - - larghezza - - - - - margine Sx - - - - - margine Dx - - - - - margine Top - - - - - margine Bottom - - - - - enumeratore modalità login - - - - - login AD normale - - - - - forza utente fornendo password - - - - - forza ad un utente standard scelto dall'elenco - - - - - enumeratore modalità scrittura tag siteMap - - - - - nodo di tipo iniziale - apertura - - - - - nodo di tipo foglia - - - - - nodo di tipo finale - chiusura - - - - - enumeratore tipi di anagrafica - - - - - tipo di anagrafica Brembo - - - - - tipo di anagrafica generica - - - - - tipo di vista del modulo - - - - - modalità selezione - - - - - modalità editing - - - - - tipologia di file immagine - - - - - formato gif (no alpha channel) - - - - - formato jpeg - - - - - formato png - - - - - tipo di immagini usate per le icone di comando in web applications - - - - - icona annulla (croce rossa) - - - - - icona approva (simbolo coccarda) - - - - - icona barcode in campo bianco - - - - - icona barcode in campo arancio - - - - - icona clona (magic wand) - - - - - icona converma (spunta verde) - - - - - icona elimina (cestino) - - - - - icona modifica (matita) - - - - - icona notepad (blocco note) - - - - - icona notepad + pdf (blocco note) - - - - - icona nuovo (segno +) - - - - - icona seleziona (lente) - - - - - icona semaforo giallo - - - - - icona semaforo rosso - - - - - icona semaforo verde - - - - - icona stampa (printer) - - - - - dimensione immagini usate per le icone di comando in web applications - - - - - formato piccolo - - - - - formato medio - - - - - formato grande - - - - - definisce un intervalo di 2 date - - - - - data inizio - - - - - data fine - - - - - struttura orario ordinarie/strordinarie - - - - - ore ordinarie - - - - - ore straordinarie - - - - - classe di funzioni inerenti le date - - - - - inizializzazione empty - - - - - effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine - - - - - - - - oggetto mese precedente alla dataLilmite - - - - - - oggetto mese corrente fino alla dataLilmite - - - - - - confronta le date e restituisce true se le date sono nello stesso mese - - - - - - - - restituisce l'intervallo del giorno completo che comprende la data indicata - - - - - - - restituisce l'intervallo di N giorni fino alla data indicata - - - - - - - - restituisce l'intervallo della settimana corrente per la data indicata - - - - - - - restituisce l'intervallo del mese corrente per la data indicata - - - - - - - restituisce l'intervallo del mese che comprendela data indicata - - - - - - - restituisce l'intervallo dell'anno corrente per la data indicata - - - - - - - classe di gestione delle email - - - - - stringa nel nome DNS o dell'ip del server SMTP - - - - - metodo static per la gestione delle email - - - - - - metodo static per la gestione delle email - - - - - - - procedura invio email - - email mittente - email destinatario - oggetto dell'email - corpo del messaggio - - - - procedura invio email + scrittura in log! - - email mittente - email destinatario - oggetto dell'email - corpo del messaggio - - - - metodo singleton gestione email... - - - - - Tipo di comparazione, Binary == CaseSensitive, Text = insensitive - - - - - tipo controllo : binario - - - - - tipo controllo : text - - - - - Funzione di splitting compatibile con multi-character e multi-line - - - - - stringa da splittare - - - - - Delimiter con cui splittare - - - - - Costruttore dello Splitter - - - - - comparatore case sensitive - - - - - - - - comparatore case insensitive - - - - - - - - parte principale dello splitter - - stringa da splittare - delimitatore ricercato - true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base) - - 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive - - - - - elimina dal nome file il tipo (desinenza) - - - - - - - Classe di metodi che estendono quelli base applicati alle string - - - - - Trasforma in MAIUSCOLo il primo carattere della stringa - - stringa da processare - stringa processata - - - - restituisce la stringa completa e corretta del filepath del server (anche con vDir) - - path relativo alla cartella iis dell'applicativo - path fisico tradotto - - - - effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi - - - - - - - fornisce dati di base per l'utente - - - - - fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE - - - - - - - restituisce la riga completa dall'username richiesto - - - - - - - Represents a strongly typed in-memory cache of data. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents the strongly named DataTable class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Represents strongly named DataRow class. - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Row event argument class - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - Represents the connection and commands used to retrieve and save data. - - - - - classe gestione utente: auth e permission/ruoli - versione GENERICA - - - - - cancella da session l'utente - - - - - carica la riga dati utente - - - - - Carica la tabella diritti dell'utente da db e salva in session - - - - - Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato - - - - - - Effettua setup dei permessi una volta salvati i diritti - - - - - imposta la lingua utente dal valore della riga DB - - - - - costruisce la mappa del sito per l'utente - - - - - formatta un nodo in modo corretto dai dati indicati - - - - - - - - - inizializza la gestione utente... - - - - - traduce il lemma nella lingua dell'user corrente - - - - - - - traduce il lemma in inglese - - - - - - - traduce il lemma nella lingua dell'user e in inglese tra parentesi - - - - - - - LogOff utente con reset dati - - - - - - - - Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati - - - - - - - - Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato - - - - - - - - - salva dati accessori quali il cdc dell'utente... - - - - - verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta - - - - - - - verifica le credenziali AD dell'utente... - - - - - - - - conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1 - - - - - - - verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S') - - - - - - - ricarica e ri-traduce la mappa sito per l'utente... - - - - - retituisce il nome apgina dai permessi utente - - - - - - restituisce cognome e nome di un utente dato username... - - username - - - - - restituisce cognome e nome di un utente data la matricola... - - matricola - - - - - restituisce cognome e nome di un utente dato username e dominio... - - username - dominio - - - - - restituisce cognome e nome di un utente dato username... - - username - - - - - restituisce cognome e nome di un utente dato username e dominio... - - username - dominio - - - - - restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio... - - {dominio\}userName - - - - - restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti - - - - - - - - restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione - - nome del modulo - nome della funzione - tabella utenti - - - - restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione - - nome del modulo - nome della funzione - stringa di email separate da "," - - - - crea un nuovo utente con le credenziali indicate - - - - - - - - - - - - assegna il diritto all'utente indicato - - - - - - - - - - - toglier il diritto all'utente indicato - - - - - - - - - - - restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...) - - modulo di cui si testano i diritti - - - - - versione statica della classe utente come singleton UtenTeSignletoN - - - - - restituisce la tabella diritti da session - - - - - tabella dei permessi utente - - - - - tabella dei permessi utente di tipo "WRITE" enabled - - - - - retituisce username AD - - - - - oggetto utente con metodi get/set - - - - - oggetto dominio con metodi get/set - - - - - oggetto modulo (applicazione) con metodi get/set - - - - - oggetto lingua utente con metodi get/set - - - - - restituisce true se utente forzato da forceUser.aspx - - - - - restituisce i valori della riga utente da db - - - - - restituisce una stringa formattata con cognome, nome e matricola - - - - - restituisce una stringa della sigla dell'utente - - - - - restituisce una stringa formattata con cognome e nome - - - - - restituisce una stringa formattata con cognome - - - - - restituisce una stringa formattata con nome - - - - - fornisce un file XML della mappa del sito abilitato per l'utente... - - - - - è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza... - - - - - Accesso in lettura e scrittura al filesystem per gestione files upload e download - - - - - path di lavoro dei metodi leggi/scrivi - - - - - verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale - - - - - - - restituisce una tab di files dato l'elenco dei files - - - - - - - setta le directory - - - - - - oggetto WebClient - - - - - inizializza il metodo alla cartella indicata - - - non serve +... x retrocompatibilità... - - - - metodo di avvio empty - - - - - cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile - - - - - - - cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile - - - - - - - - cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath - - - - - - - Legge i dati da uno stream fino a quando arriva alla fine. - I dati sono restituiti come un byte[] array. un eccezione IOException è - sollevata se una delle chiamate IO sottostanti fallisce. - - Lo stream da cui leggere - Lunghezza buffer iniziale (-1 = default 32k) - - - - verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo - - - - - - ottiene il dataset dei files presenti nella directory indicata esplicitamente - - dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) ) - - - - - ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto - - - - - - ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto - - - - - - elenco dei files come array di oggetti FileInfo - - - - - - elenco dei files come array di oggetti FileInfo filtrati per parametro - - - - - - - elimina la directory di lavoro se è dir virtuale mappata - - - - - - elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno - - regexp selezione files in dir (* = tutti!!!) - - - - - verifica se il file indicato esista in workDir - - - - - - - elimina il file indicato dalla directory di lavoro - - - - - - - restituisce lo stream del file richiesto - - - - - - - restituisce la stringa letta dal file richiesto - - - - - - - scrive il file dallo stream byte[] inviato - - - - - - - - scrive il file dalla stringa inviata - - - - - - - - converte una string in un byte[] - - - - - - - converte un byte[] in una string - - - - - - - sposta il file da From a To... - - - - - - - - - copia il file da From a To... - - - - - - - - - copia il file da From a To... - - - - - - - - - - imposta la dir di lavoro - - - - - - imposta la dir di lavoro - - - non serve +... x retrocompatibilità... - - - - imposta la dir di lavoro impostandola dal mapPath corretto della web app... - - - - - - esegue un comando in shell - - - - - - - - - esegue un comando in shell - - - - - - - - - Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto - - url del file - nome con cui salvare il file - - - - - comprime zip il file indicato - - - - - - - comprime zip i files corrispondenti alla RegExp indicata nella dir corrente - - Espressione ricerca, come *.txt - Nome del file zip da creare - - - - - calcola la dim della directory corrente... - - - - - - - elimina il file + vecchio - - - - - - - versione statica (singleton) del'oggetto fileMover - - - - - classe per effettuare confronto tra valori disomogeneri per tipo e costruire diff testuali - - - - - valore originale - - - - - nuovo valore - - - - - dictionary dei parametri vecchi - - - - - dictionary dei parametri nuovi - - - - - inizializzazione classe - - - - - valorizza i diff dei valori old e new - - - - - calcola solo il vettore dei valori old (x delete) - - - - - oggetto statico per il confronto valori - - - - - stringa diff dei valori originali modificati - - - - - stringa diff dei valori nuovi modificati - - - - - dictionary dei parametri old - - - - - dictionary dei parametri new - - - - - classe gestione logging esteso di eventi e note utente (correlabili) - - - - - TableAdapter di accesso alla tabella anagrafica filtraggi - - - - - TableAdapter di accesso alla tabella anagrafica record - - - - - TableAdapter di accesso alla tabella logging record di eventi - - - - - TableAdapter di accesso alla tabella logging utente - - - - - TableAdapter di accesso alla vista logging eventi - - - - - TableAdapter di accesso alla vista logging utente - - - - - effettua setup dei connection strings da web.config delal singola applicazione - - - - - avvio i tari tableAdapters - - - - - avvio della classe istanziando db e - - - - - oggetto statico di accesso ai metodi della classe... - - - - - tabella eventi - - - - - - tabella note - - - - - - tabella eventi secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - tabella note secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - tabella eventi secondo filtro e condizione ulteriore WHERE esplicitata - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}" - - - - - tabella note secondo filtro e condizione ulteriore WHERE esplicitata - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - ulteriore condizione WHERE per filtrare i dati (testo {0} della condizione "WHERE {0}" - - - - - tabella note secondo filtro - - filtro gestito come condizione "LIKE '%{0}%'" rispetto al filtro salvato con l'evento - - - - - inserisce l'evento indicato dai parametri - - user che ha generato l'evento - pagina/form applicaizone in cui l'evento si è generato - valore originale(se c'è) - valore nuovo/modificato - descrizione evento (poi gestita con anagrafica interna) - filtro logico evento (poi gestita con anagrafica interna) - - - - inserisce la nota utente indicata dai parametri, restituisce idx della nota creata... - - user che ha inserito la nota - testo della nota - valore ulteriore da associare alla nota (es: label, codice, versione, ...) - filtro logico evento (poi gestita con anagrafica interna) - intero dell'idx della nota creata - - - - associa l'evento e la nota indicati - - idx del record da associare - idx chiave della nota da associare - - - - associa l'ultimo evento del filtro indicato alla nota - - filtro associato all'ultimo evento... - idx chiave della nota da associare - - - - segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati - - utente generatore dell'evento - - - - segna come cestinati tutti gli eventi dell'utente indicato non ancora associati o cestinati - - utente generatore dell'evento - - - - Elimina gli eventi cestinati generati dall'utente indicato - - utente generatore dell'evento - - - - Elimina gli eventi cestinati anteriori alla data selezionata - - dataOra dell'evento - - - - effettua la registrazione dell'evento in session - - - - - metodo di comportamento del controllo di logging - - - - - nasconde pannello log - - - - - memorizza log inserito - - - - - mostra pannello log - - - - - metodo di comportamento del controllo di logging - - - - - indica il primo step del doppio livello di approvazione (completamento) - - - - - SOLO con incremento indice di revisione dell'oggetto approvato - - - - - SOLO mantenendo indice di revisione corrente - - - - - permette SIA con revisione che senza (e anche rev -1) - - - - - Pagina base applicazioni SteamWare da cui derivare le altre - - - - - Iniziazlizzazione void (non fa nulla) - - - - - Metodo MAIN: viene eseguita al caricamento ed effettua delle routines per il controllo utente e istanzia l'oggetto memLayer - - - - - - - rimanda alla pagina di Work In Progress salvando in session un titolo ed una descrizione che al pagina wip poi mostrerà all'utente - - titolo da mostrare nella pagina WIP - descrizione da mostrare nella pagina WIP - diff --git a/GMW/GMW_data/obj/Debug/GMW_data.dll b/GMW/GMW_data/obj/Debug/GMW_data.dll index 7aab672f..45a63e2f 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/Refactor/GMW_data.dll b/GMW/GMW_data/obj/Debug/Refactor/GMW_data.dll index 83d07f44..5fb7c02e 100644 Binary files a/GMW/GMW_data/obj/Debug/Refactor/GMW_data.dll and b/GMW/GMW_data/obj/Debug/Refactor/GMW_data.dll 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 fe96e670..c374aecf 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