0cm
+
+ 10.6cm
+ 1.8cm
+
+ 38
+ true
+ 0.2cm
+ 0.45cm
+ Codice prodotto
+
+
+ 7.9cm
+ 0.6cm
+
+ 37
+ true
+ 13.3cm
+ 0.5cm
+ del
+
+
+ 2.4cm
+ 1cm
+
+ 36
+ true
+ 0.2cm
+ 0.5cm
+ Cliente
+ Fit
- 0.2cm5.3cm
+ image/pngEmbedded
-
- 46
- 20cm
- 1.9cm
- equa
+
+ 35
+ 19.6cm
+ 2.1cm
+ logoequa16.3cm
@@ -182,63 +271,29 @@ tABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhGfWloo
2pt2pt
- 45
- 15.1cm
+ 34
+ 14.7cm1.4cm="*"&(First(Fields!IdxObj.Value))&"*"1.5cm
- 3.9cm
+ 4.3cm
- 44
- 11.8cm
- 0.5cm
+ 33
+ 11.4cm
+ 0.7cm=Fields!IdxObj.Value
-
- 15.1cm
- 5cm
-
- 43
- 10.4cm
- 0.63492cm
- Fosfatazione pre-verniciatura
-
-
- 15.1cm
- 0.75cm
-
- 42
- 9.64999cm
- 0.63492cm
- =(Fields!FosfPreVern.Value)
-
- 13.3cm
+ 14.6cm3.75cm
- 41
- 10.4cm
+ 32
+ 7.15001cm0.63492cmFosfatazione Zinco
- 13.3cm
+ 14.6cm0.75cm
- 40
- 9.64999cm
- 0.63492cm
- =(Fields!FosfZinco.Value)
-
-
- 14.2cm
- 4.5cm
-
- 39
- 1.90001cm
- 0.63492cm
- Fosfatazione + TEFLON
-
-
- 14.2cm
- 0.75cm
-
- 38
- 0.9cm
- 0.63492cm
- =(Fields!FosfTeflon.Value)
-
-
- Ciclo_FinSecco
- 14.2cm
- 0.75cm
-
- 37
- 19.15cm
- 0.63492cm
- =(Fields!PeekVicote.Value)
-
-
- Ciclo_Olio
- 13.3cm
- 0.75cm
-
- 36
- 19.15cm
- 0.63492cm
- =(Fields!Zinchlorex.Value)
-
-
- Ciclo_X2
- 12.5cm
- 0.75cm
-
- 35
- 19.15cm
- 0.63492cm
- =(Fields!PzRoto.Value)
-
-
- Ciclo_M
- 14.2cm
- 0.75cm
-
- 34
- 9.64999cm
- 0.63492cm
- =(Fields!Teflon.Value)
-
-
- Ciclo_F2
- 12.5cm
- 0.75cm
-
- 33
- 12.9cm
- 0.63492cm
- =(Fields!F2.Value)
-
-
- Ciclo_F1
- 12.5cm
- 0.75cm
-
- 32
- 9.64999cm
- 0.63492cm
- =(Fields!F1.Value)
-
-
- 14.2cm
- 3cm
-
31
- 19.9cm
+ 6.4cm0.63492cm
- PEEK VICOTE
+ =(Fields!FosfZinco.Value)
-
- 13.3cm
- 2.53968cm
+
+ 15.3cm
+ 4.5cm30
- 19.9cm
+ 1.3cm0.63492cm
- Zinchlorex
+ Fosfatazione + TEFLON
-
- 12.5cm
- 2.53968cm
+
+ 15.3cm
+ 0.75cm29
- 19.9cm
+ 0.5cm0.63492cm
- Pz Roto
+ =(Fields!FosfTeflon.Value)
-
- 14.2cm
- 2.53968cm
+
+ Ciclo_FinSecco
+ 15.3cm
+ 0.75cm28
- 10.4cm
+ 12cm0.63492cm
- TEFLON
+ =(Fields!PeekVicote.Value)
-
- 12.5cm
+
+ Ciclo_Olio
+ 14.6cm0.75cm27
- 13.65cm
+ 12cm0.63492cm
- F2
+ =(Fields!Zinchlorex.Value)
-
- 12.5cm
+
+ Ciclo_X2
+ 13.9cm0.75cm26
- 10.4cm
+ 12cm0.63492cm
- F1
+ =(Fields!PzRoto.Value)
-
- MercePronta
- 15.1cm
+
+ Ciclo_M
+ 15.3cm0.75cm25
- 0.9cm
+ 6.4cm0.63492cm
- =(Fields!Sabbiatura.Value)
+ =(Fields!Teflon.Value)
-
- 15.1cm
- 2.53968cm
+
+ Ciclo_F2
+ 13.9cm
+ 0.75cm24
- 1.90001cm
+ 9.65001cm0.63492cm
- Sabbiatura
+ =(Fields!F2.Value)
-
- Brunitura
- 13.3cm
+
+ Ciclo_F1
+ 13.9cm0.75cm23
- 0.9cm
+ 6.4cm0.63492cm
- =(Fields!Brunitura.Value)
+ =(Fields!F1.Value)
-
- 13.3cm
- 2.53968cm
+
+ 15.3cm
+ 3cm22
- 1.90001cm
+ 12.75cm0.63492cm
- Brunitura
+ PEEK VICOTE
-
- textbox2
- 12.5cm
- 4.5cm
+
+ 14.6cm
+ 2.53968cm21
- 1.90001cm
+ 12.75cm0.63492cm
- Fosfatazione Manganese
+ Zinchlorex
-
- Fosfatazione
- 12.5cm
- 0.75cm
+
+ 13.9cm
+ 2.53968cm20
- 0.9cm
+ 12.75cm0.63492cm
- =(Fields!FosfManganese.Value)
+ Pz Roto
-
- Peso
- 7.75cm
- 5.3cm
+
+ 15.3cm
+ 2.53968cm19
- 19.9cm
- 1.25cm
- =First(Fields!Peso.Value)
+ 7.15001cm
+ 0.63492cm
+ TEFLON
-
- ConsegnaPrevista_1
- 9.6cm
- 18.2cm
+
+ 13.9cm
+ 0.75cm18
- 7cm
- 1.1cm
- =First(Fields!ConsegnaPrevista.Value)
+ 10.40001cm
+ 0.63492cm
+ F2
-
- CodProdotto
- 7.75cm
- 11.75cm
+
+ 13.9cm
+ 0.75cm17
- 5.4cm
- 1.05cm
- =Fields!CodProdotto.Value
+ 7.15001cm
+ 0.63492cm
+ F1
-
- 6.25cm
- 5.1cm
+
+ Brunitura
+ 14.6cm
+ 0.75cm16
- 20.1cm
- 1.05cm
- =First(Fields!DataArrivo.Value)
+ 0.5cm
+ 0.63492cm
+ =(Fields!Brunitura.Value)
-
- 6cm
- 8.2cm
+
+ 14.6cm
+ 2.53968cm15
- 3.7cm
- 1.3cm
- =First(Fields!DDT.Value)
+ 1.3cm
+ 0.63492cm
+ Brunitura
-
- 6cm
- 4.75cm
+
+ textbox2
+ 13.9cm
+ 4.5cm
+
+ 14
+ 1.3cm
+ 0.63492cm
+ Fosfatazione Manganese
+
+
+ Fosfatazione
+ 13.9cm
+ 0.75cm
+
+ 13
+ 0.5cm
+ 0.63492cm
+ =(Fields!FosfManganese.Value)
+
+
+ Peso
+ 10.9cm
+ 5.6cm
+ 12
+ 19.2cm
+ 1.8cm
+ =First(Fields!Peso.Value)
+
+
+ CodProdotto
+ 10.9cm
+ 18.8cm
+
+ 11
+ 0.2cm
+ 1.8cm
+ =Fields!CodProdotto.Value
+
+
+ 8.3cm
+ 5.7cm
+
- 14
- 13.2cm
- 1.3cm
+ 10
+ 13.3cm
+ 2cm=Fields!DDT_del.ValueCliente
- 3.6cm
- 21.5cm
+ 2.4cm
+ 24.6cm
- 13
- 3.7cm
- 1.75cm
+ 9
+ 0.2cm
+ 5.1cm=Fields!Cliente.Value
@@ -757,82 +722,21 @@ tABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhGfWloo
2pt2pt
- 12
- 0.6cm
+ 8
+ 0.2cm2.2cm="*"&(First(Fields!IdxObj.Value))&"*"
-
- 4.15cm
- 2.85cm
-
- 11
- true
- 0.75cm
- 1.25cm
- Cliente
-
- 2.4cm
- 18.9cm
+ 16.4cm
+ 6.7cm
- 10
- true
- 3cm
- 1cm
- Scheda di identificazione
-
-
- 0.5cm
- 9
- 3.5cm
- 24.9cm
-
- 2.14868cm
-
-
- 6.3cm
- 1cm
-
- 8
- true
- 12.1cm
- 1cm
- del
-
-
- 6.3cm
- 2.85cm
-
7true
- 0.6cm
- 1cm
- Nr. D.D.T.
+ 0.1cm
+ 0.6cm
+ Scheda di identificazione EQUA - mod. 100 rev. 01
-
- 0.5cm
+
+ 0.1cm6
-
-
- textbox23
- 0.2cm
- 1.8cm
-
- true
- 17.6cm
- 1.3cm
- Data arrivo
-
-
- 5.8cm
+ 2.3cm24.9cm
- 1.7cm
+ 5.4cm
-
- 8cm
- 4.6cm
+
+ 7.9cm
+ 1.2cm5true
- 0.7cm
- 0.8cm
- Codice prodotto
+ 0.2cm
+ 0.5cm
+ Nr. D.D.T.
-
- 0.5cm
- 4
-
-
- 0.3cm
- 2.5cm
-
- true
- 16.75cm
- 1cm
- Peso Kg
-
-
- 7.6cm
- 24.9cm
-
- 1.50794cm
-
-
- 9.7cm
- 6.3cm
-
- 3
- true
- 0.7cm
- 1cm
- Consegna per il giorno
-
-
- 0.5cm
- 2
- 9.35cm
- 24.9cm
-
- 1.50794cm
-
- 11.3cm
+ 13.1cm6.25cm
- 1
+ 4true
- 0.5cm
- 1cm
+ 0.2cm
+ 0.7cmRivestimento
- 0.5cm
- 11.05cm
+ 0.1cm
+ 3
+
+
+ 0.9cm
+ 2.53968cm
+
+ 3
+ 17.2cm
+ 0.63492cm
+ Sabbiatura
+
+
+ MercePronta
+ 0.9cm
+ 0.75cm
+
+ 2
+ 16.4cm
+ 0.63492cm
+ =(Fields!Sabbiatura.Value)
+
+
+ 1.6cm
+ 5cm
+
+ 1
+ 17.15001cm
+ 0.63492cm
+ Fosfatazione pre-verniciatura
+
+
+ 1.6cm
+ 0.75cm
+
+ 16.4cm
+ 0.63492cm
+ =(Fields!FosfPreVern.Value)
+
+
+ 13cm24.9cm
- 4.95cm
+ 3.25cm
+
+
+ 8.3cm
+ 12.9cm
+
+ 2
+ 0.2cm
+ 2cm
+ =First(Fields!DDT.Value)
+
+
+ 8.3cm
+ 5.6cm
+
+ 1
+ 19.2cm
+ 2cm
+ =First(Fields!DataArrivo.Value)
+
+
+ 0.1cm
+
+
+ textbox23
+ 0.15cm
+ 1.4cm
+
+ 3
+ true
+ 19.1cm
+ 0.5cm
+ Data arrivo
+
+
+ 2.75cm
+ 1.5cm
+
+ 2
+ true
+ 23.2cm
+ 0.45cm
+ Peso
+
+
+ 0.15cm
+ 0cm
+
+ 1
+ 19cm
+ 4.7cm
+
+
+ 0.15cm
+ 0cm
+
+ 13.1cm
+ 2.6cm
+
+
+ 7.8cm
+ 24.9cm
+
+ 5.04524cm18cm
diff --git a/project/XPS/XPS.csproj b/project/XPS/XPS.csproj
index f27bc45..227289a 100644
--- a/project/XPS/XPS.csproj
+++ b/project/XPS/XPS.csproj
@@ -731,6 +731,9 @@
+
+ Always
+ Always
diff --git a/project/XPS/bin/Reports/ReportSchedaIdentificazione.old.rdlc b/project/XPS/bin/Reports/ReportSchedaIdentificazione.old.rdlc
new file mode 100644
index 0000000..82b8d31
--- /dev/null
+++ b/project/XPS/bin/Reports/ReportSchedaIdentificazione.old.rdlc
@@ -0,0 +1,991 @@
+
+
+
+
+ 9c2e09a3-1d5b-4de5-88dd-e22b808708a8
+ Equa
+
+
+ 18cm
+ scheda identificazione
+
+
+ String
+ true
+ IdxObj
+ true
+
+
+ true
+ 25.9cm
+ 0.1cm
+ true
+ 0.3cm
+ 0.3cm
+ 0.3cm
+ b8624b28-ffd9-4fdc-b3f2-daf1efa3341e
+
+
+ image/jpeg
+ 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
+
+
+ 26.5cm
+
+
+
+
+ IdxObj
+ System.String
+
+
+ Cliente
+ System.String
+
+
+ DDT
+ System.String
+
+
+ DDT_del
+ System.DateTime
+
+
+ DataArrivo
+ System.DateTime
+
+
+ CodProdotto
+ System.String
+
+
+ ConsegnaPrevista
+ System.DateTime
+
+
+ Peso
+ System.Double
+
+
+ FosfManganese
+ System.String
+
+
+ Brunitura
+ System.String
+
+
+ FosfTeflon
+ System.String
+
+
+ Sabbiatura
+ System.String
+
+
+ F1
+ System.String
+
+
+ F2
+ System.String
+
+
+ FosfZinco
+ System.String
+
+
+ Teflon
+ System.String
+
+
+ FosfPreVern
+ System.String
+
+
+ PzRoto
+ System.String
+
+
+ Zinchlorex
+ System.String
+
+
+ PeekVicote
+ System.String
+
+
+ CodCli
+ System.String
+
+
+
+ Equa
+ StoredProcedure
+ sp_schedaIdent
+
+
+ =Parameters!IdxObj.Value
+
+
+ true
+
+
+
+ SteamWare
+
+ 25.6cm
+
+ 0cm
+
+
+ Fit
+ 0.2cm
+ 5.3cm
+ Embedded
+
+ 46
+ 20cm
+ 1.9cm
+ equa
+
+
+ 16.3cm
+ 10.1cm
+
+ 45
+ 15.1cm
+ 1.4cm
+ ="*"&(First(Fields!IdxObj.Value))&"*"
+
+
+ 1.5cm
+ 3.9cm
+
+ 44
+ 11.8cm
+ 0.5cm
+ =Fields!IdxObj.Value
+
+
+ 15.1cm
+ 5cm
+
+ 43
+ 10.4cm
+ 0.63492cm
+ Fosfatazione pre-verniciatura
+
+
+ 15.1cm
+ 0.75cm
+
+ 42
+ 9.64999cm
+ 0.63492cm
+ =(Fields!FosfPreVern.Value)
+
+
+ 13.3cm
+ 3.75cm
+
+ 41
+ 10.4cm
+ 0.63492cm
+ Fosfatazione Zinco
+
+
+ 13.3cm
+ 0.75cm
+
+ 40
+ 9.64999cm
+ 0.63492cm
+ =(Fields!FosfZinco.Value)
+
+
+ 14.2cm
+ 4.5cm
+
+ 39
+ 1.90001cm
+ 0.63492cm
+ Fosfatazione + TEFLON
+
+
+ 14.2cm
+ 0.75cm
+
+ 38
+ 0.9cm
+ 0.63492cm
+ =(Fields!FosfTeflon.Value)
+
+
+ Ciclo_FinSecco
+ 14.2cm
+ 0.75cm
+
+ 37
+ 19.15cm
+ 0.63492cm
+ =(Fields!PeekVicote.Value)
+
+
+ Ciclo_Olio
+ 13.3cm
+ 0.75cm
+
+ 36
+ 19.15cm
+ 0.63492cm
+ =(Fields!Zinchlorex.Value)
+
+
+ Ciclo_X2
+ 12.5cm
+ 0.75cm
+
+ 35
+ 19.15cm
+ 0.63492cm
+ =(Fields!PzRoto.Value)
+
+
+ Ciclo_M
+ 14.2cm
+ 0.75cm
+
+ 34
+ 9.64999cm
+ 0.63492cm
+ =(Fields!Teflon.Value)
+
+
+ Ciclo_F2
+ 12.5cm
+ 0.75cm
+
+ 33
+ 12.9cm
+ 0.63492cm
+ =(Fields!F2.Value)
+
+
+ Ciclo_F1
+ 12.5cm
+ 0.75cm
+
+ 32
+ 9.64999cm
+ 0.63492cm
+ =(Fields!F1.Value)
+
+
+ 14.2cm
+ 3cm
+
+ 31
+ 19.9cm
+ 0.63492cm
+ PEEK VICOTE
+
+
+ 13.3cm
+ 2.53968cm
+
+ 30
+ 19.9cm
+ 0.63492cm
+ Zinchlorex
+
+
+ 12.5cm
+ 2.53968cm
+
+ 29
+ 19.9cm
+ 0.63492cm
+ Pz Roto
+
+
+ 14.2cm
+ 2.53968cm
+
+ 28
+ 10.4cm
+ 0.63492cm
+ TEFLON
+
+
+ 12.5cm
+ 0.75cm
+
+ 27
+ 13.65cm
+ 0.63492cm
+ F2
+
+
+ 12.5cm
+ 0.75cm
+
+ 26
+ 10.4cm
+ 0.63492cm
+ F1
+
+
+ MercePronta
+ 15.1cm
+ 0.75cm
+
+ 25
+ 0.9cm
+ 0.63492cm
+ =(Fields!Sabbiatura.Value)
+
+
+ 15.1cm
+ 2.53968cm
+
+ 24
+ 1.90001cm
+ 0.63492cm
+ Sabbiatura
+
+
+ Brunitura
+ 13.3cm
+ 0.75cm
+
+ 23
+ 0.9cm
+ 0.63492cm
+ =(Fields!Brunitura.Value)
+
+
+ 13.3cm
+ 2.53968cm
+
+ 22
+ 1.90001cm
+ 0.63492cm
+ Brunitura
+
+
+ textbox2
+ 12.5cm
+ 4.5cm
+
+ 21
+ 1.90001cm
+ 0.63492cm
+ Fosfatazione Manganese
+
+
+ Fosfatazione
+ 12.5cm
+ 0.75cm
+
+ 20
+ 0.9cm
+ 0.63492cm
+ =(Fields!FosfManganese.Value)
+
+
+ Peso
+ 7.75cm
+ 5.3cm
+
+ 19
+ 19.9cm
+ 1.25cm
+ =First(Fields!Peso.Value)
+
+
+ ConsegnaPrevista_1
+ 9.6cm
+ 18.2cm
+
+ 18
+ 7cm
+ 1.1cm
+ =First(Fields!ConsegnaPrevista.Value)
+
+
+ CodProdotto
+ 7.75cm
+ 11.75cm
+
+ 17
+ 5.4cm
+ 1.05cm
+ =Fields!CodProdotto.Value
+
+
+ 6.25cm
+ 5.1cm
+
+ 16
+ 20.1cm
+ 1.05cm
+ =First(Fields!DataArrivo.Value)
+
+
+ 6cm
+ 8.2cm
+
+ 15
+ 3.7cm
+ 1.3cm
+ =First(Fields!DDT.Value)
+
+
+ 6cm
+ 4.75cm
+
+ 14
+ 13.2cm
+ 1.3cm
+ =Fields!DDT_del.Value
+
+
+ Cliente
+ 3.6cm
+ 21.5cm
+
+ 13
+ 3.7cm
+ 1.75cm
+ =Fields!Cliente.Value
+
+
+ Expr1
+ 11.1cm
+
+ 12
+ 0.6cm
+ 2.2cm
+ ="*"&(First(Fields!IdxObj.Value))&"*"
+
+
+ 4.15cm
+ 2.85cm
+
+ 11
+ true
+ 0.75cm
+ 1.25cm
+ Cliente
+
+
+ 2.4cm
+ 18.9cm
+
+ 10
+ true
+ 3cm
+ 1cm
+ Scheda di identificazione
+
+
+ 0.5cm
+ 9
+ 3.5cm
+ 24.9cm
+
+ 2.14868cm
+
+
+ 6.3cm
+ 1cm
+
+ 8
+ true
+ 12.1cm
+ 1cm
+ del
+
+
+ 6.3cm
+ 2.85cm
+
+ 7
+ true
+ 0.6cm
+ 1cm
+ Nr. D.D.T.
+
+
+ 0.5cm
+ 6
+
+
+ textbox23
+ 0.2cm
+ 1.8cm
+
+ true
+ 17.6cm
+ 1.3cm
+ Data arrivo
+
+
+ 5.8cm
+ 24.9cm
+
+ 1.7cm
+
+
+ 8cm
+ 4.6cm
+
+ 5
+ true
+ 0.7cm
+ 0.8cm
+ Codice prodotto
+
+
+ 0.5cm
+ 4
+
+
+ 0.3cm
+ 2.5cm
+
+ true
+ 16.75cm
+ 1cm
+ Peso Kg
+
+
+ 7.6cm
+ 24.9cm
+
+ 1.50794cm
+
+
+ 9.7cm
+ 6.3cm
+
+ 3
+ true
+ 0.7cm
+ 1cm
+ Consegna per il giorno
+
+
+ 0.5cm
+ 2
+ 9.35cm
+ 24.9cm
+
+ 1.50794cm
+
+
+ 11.3cm
+ 6.25cm
+
+ 1
+ true
+ 0.5cm
+ 1cm
+ Rivestimento
+
+
+ 0.5cm
+ 11.05cm
+ 24.9cm
+
+ 4.95cm
+
+
+ 18cm
+
+ it-IT
+ 0.3cm
+ 18.6cm
+
\ No newline at end of file
diff --git a/project/XPS/bin/Reports/ReportSchedaIdentificazione.rdlc b/project/XPS/bin/Reports/ReportSchedaIdentificazione.rdlc
index 82b8d31..9346242 100644
--- a/project/XPS/bin/Reports/ReportSchedaIdentificazione.rdlc
+++ b/project/XPS/bin/Reports/ReportSchedaIdentificazione.rdlc
@@ -25,29 +25,58 @@
0.3cmb8624b28-ffd9-4fdc-b3f2-daf1efa3341e
-
- image/jpeg
- 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
+
+ image/png
+ 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.5cm
@@ -154,20 +183,61 @@ tABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhGfWloo
SteamWare
- 25.6cm
+ 25.1cm0cm
+
+ 6.4cm
+ 0.6cm
+
+ 39
+ true
+ 13.4cm
+ 0.5cm
+ del
+
+
+ 2.4cm
+ 1cm
+
+ 38
+ true
+ 0.2cm
+ 0.5cm
+ Cliente
+ Fit
- 0.2cm5.3cm
+ image/pngEmbedded
-
- 46
- 20cm
- 1.9cm
- equa
+
+ 37
+ 19.6cm
+ 2.1cm
+ logoequa16.3cm
@@ -182,63 +252,29 @@ tABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhGfWloo
2pt2pt
- 45
- 15.1cm
+ 36
+ 14.7cm1.4cm="*"&(First(Fields!IdxObj.Value))&"*"1.5cm
- 3.9cm
+ 4.3cm
- 44
- 11.8cm
- 0.5cm
+ 35
+ 11.4cm
+ 0.7cm=Fields!IdxObj.Value
-
- 15.1cm
- 5cm
-
- 43
- 10.4cm
- 0.63492cm
- Fosfatazione pre-verniciatura
-
-
- 15.1cm
- 0.75cm
-
- 42
- 9.64999cm
- 0.63492cm
- =(Fields!FosfPreVern.Value)
-
- 13.3cm
+ 14.6cm3.75cm
- 41
- 10.4cm
+ 34
+ 7.15001cm0.63492cmFosfatazione Zinco
- 13.3cm
+ 14.6cm0.75cm
- 40
- 9.64999cm
+ 33
+ 6.4cm0.63492cm=(Fields!FosfZinco.Value)
- 14.2cm
+ 15.3cm4.5cm
- 39
- 1.90001cm
+ 32
+ 1.3cm0.63492cmFosfatazione + TEFLON
- 14.2cm
+ 15.3cm0.75cm
- 38
- 0.9cm
+ 31
+ 0.5cm0.63492cm=(Fields!FosfTeflon.Value)Ciclo_FinSecco
- 14.2cm
+ 15.3cm0.75cm
- 37
- 19.15cm
+ 30
+ 12cm0.63492cm=(Fields!PeekVicote.Value)Ciclo_Olio
- 13.3cm
+ 14.6cm0.75cm
- 36
- 19.15cm
+ 29
+ 12cm0.63492cm=(Fields!Zinchlorex.Value)Ciclo_X2
- 12.5cm
+ 13.9cm0.75cm
- 35
- 19.15cm
+ 28
+ 12cm0.63492cm=(Fields!PzRoto.Value)Ciclo_M
- 14.2cm
+ 15.3cm0.75cm
- 34
- 9.64999cm
+ 27
+ 6.4cm0.63492cm=(Fields!Teflon.Value)Ciclo_F2
- 12.5cm
+ 13.9cm0.75cm
- 33
- 12.9cm
+ 26
+ 9.65001cm0.63492cm=(Fields!F2.Value)Ciclo_F1
- 12.5cm
+ 13.9cm0.75cm
- 32
- 9.64999cm
+ 25
+ 6.4cm0.63492cm=(Fields!F1.Value)
- 14.2cm
+ 15.3cm3cm
- 31
- 19.9cm
+ 24
+ 12.75cm0.63492cmPEEK VICOTE
- 13.3cm
+ 14.6cm2.53968cm
- 30
- 19.9cm
- 0.63492cm
- Zinchlorex
-
-
- 12.5cm
- 2.53968cm
-
- 29
- 19.9cm
- 0.63492cm
- Pz Roto
-
-
- 14.2cm
- 2.53968cm
-
- 28
- 10.4cm
- 0.63492cm
- TEFLON
-
-
- 12.5cm
- 0.75cm
-
- 27
- 13.65cm
- 0.63492cm
- F2
-
-
- 12.5cm
- 0.75cm
-
- 26
- 10.4cm
- 0.63492cm
- F1
-
-
- MercePronta
- 15.1cm
- 0.75cm
-
- 25
- 0.9cm
- 0.63492cm
- =(Fields!Sabbiatura.Value)
-
-
- 15.1cm
- 2.53968cm
-
- 24
- 1.90001cm
- 0.63492cm
- Sabbiatura
-
-
- Brunitura
- 13.3cm
- 0.75cm
-
23
- 0.9cm
+ 12.75cm0.63492cm
- =(Fields!Brunitura.Value)
+ Zinchlorex
-
- 13.3cm
+
+ 13.9cm2.53968cm22
- 1.90001cm
+ 12.75cm0.63492cm
- Brunitura
+ Pz Roto
-
- textbox2
- 12.5cm
- 4.5cm
+
+ 15.3cm
+ 2.53968cm21
- 1.90001cm
+ 7.15001cm0.63492cm
- Fosfatazione Manganese
+ TEFLON
-
- Fosfatazione
- 12.5cm
+
+ 13.9cm0.75cm20
- 0.9cm
+ 10.40001cm0.63492cm
- =(Fields!FosfManganese.Value)
+ F2
-
- Peso
- 7.75cm
- 5.3cm
+
+ 13.9cm
+ 0.75cm19
- 19.9cm
- 1.25cm
- =First(Fields!Peso.Value)
+ 7.15001cm
+ 0.63492cm
+ F1
-
- ConsegnaPrevista_1
- 9.6cm
- 18.2cm
+
+ Brunitura
+ 14.6cm
+ 0.75cm18
- 7cm
- 1.1cm
- =First(Fields!ConsegnaPrevista.Value)
+ 0.5cm
+ 0.63492cm
+ =(Fields!Brunitura.Value)
-
- CodProdotto
- 7.75cm
- 11.75cm
+
+ 14.6cm
+ 2.53968cm17
- 5.4cm
- 1.05cm
- =Fields!CodProdotto.Value
+ 1.3cm
+ 0.63492cm
+ Brunitura
-
- 6.25cm
- 5.1cm
+
+ textbox2
+ 13.9cm
+ 4.5cm16
- 20.1cm
- 1.05cm
- =First(Fields!DataArrivo.Value)
+ 1.3cm
+ 0.63492cm
+ Fosfatazione Manganese
-
- 6cm
- 8.2cm
+
+ Fosfatazione
+ 13.9cm
+ 0.75cm
+ 15
+ 0.5cm
+ 0.63492cm
+ =(Fields!FosfManganese.Value)
+
+
+ Peso
+ 10.2cm
+ 7.4cm
+
+ 14
+ 17.4cm
+ 2.4cm
+ =First(Fields!Peso.Value)
+
+
+ CodProdotto
+ 10.2cm
+ 16.9cm
+
- 15
- 3.7cm
- 1.3cm
- =First(Fields!DDT.Value)
+ 13
+ 0.2cm
+ 2.4cm
+ =Fields!CodProdotto.Value
-
- 6cm
- 4.75cm
+
+ 6.9cm
+ 5.5cm
+ 12
+ 19.3cm
+ 2.6cm
+ =First(Fields!DataArrivo.Value)
+
+
+ 6.9cm
+ 5.7cm
+
- 14
- 13.2cm
- 1.3cm
+ 11
+ 13.4cm
+ 2.6cm=Fields!DDT_del.ValueCliente
- 3.6cm
- 21.5cm
+ 2.7cm
+ 24.6cm
- 13
- 3.7cm
- 1.75cm
+ 10
+ 0.2cm
+ 3.3cm=Fields!Cliente.Value
@@ -757,132 +721,70 @@ tABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUhGfWloo
2pt2pt
- 12
- 0.6cm
+ 9
+ 0.2cm2.2cm="*"&(First(Fields!IdxObj.Value))&"*"
-
- 4.15cm
- 2.85cm
-
- 11
- true
- 0.75cm
- 1.25cm
- Cliente
-
- 2.4cm
- 18.9cm
+ 0.1cm
+ 5.1cm
- 10
- true
- 3cm
- 1cm
- Scheda di identificazione
-
-
- 0.5cm
- 9
- 3.5cm
- 24.9cm
-
- 2.14868cm
-
-
- 6.3cm
- 1cm
-
8true
- 12.1cm
- 1cm
- del
+ 14.4cm
+ 0.6cm
+ Scheda di identificazione - rev. 01
-
- 6.3cm
- 2.85cm
-
+
+ 0.1cm7
- true
- 0.6cm
- 1cm
- Nr. D.D.T.
-
-
- 0.5cm
- 6
-
-
- textbox23
- 0.2cm
- 1.8cm
-
- true
- 17.6cm
- 1.3cm
- Data arrivo
-
-
- 5.8cm
+ 2.3cm24.9cm
- 1.7cm
+ 3.8cm
-
- 8cm
- 4.6cm
+
+ 6.4cm
+ 1.2cm
+ 6
+ true
+ 0.2cm
+ 0.5cm
+ Nr. D.D.T.
+
+
+ 9.8cm
+ 1.8cm
+
5true
- 0.7cm
- 0.8cm
+ 0.2cm
+ 0.45cmCodice prodotto
- 0.5cm
+ 0.1cm4
- 0.3cm2.5cmtrue
- 16.75cm
- 1cm
+ 17.3cm
+ 0.5cmPeso Kg
- 7.6cm
+ 9.75cm24.9cm
- 1.50794cm
+ 3.05794cm
-
- 9.7cm
- 6.3cm
+
+ 13.1cm
+ 6.25cm3true
- 0.7cm
- 1cm
- Consegna per il giorno
+ 0.2cm
+ 0.7cm
+ Rivestimento
-
- 0.5cm
+
+ 0.1cm2
- 9.35cm
+
+
+ 0.9cm
+ 2.53968cm
+
+ 3
+ 17.2cm
+ 0.63492cm
+ Sabbiatura
+
+
+ MercePronta
+ 0.9cm
+ 0.75cm
+
+ 2
+ 16.4cm
+ 0.63492cm
+ =(Fields!Sabbiatura.Value)
+
+
+ 1.6cm
+ 5cm
+
+ 1
+ 17.15001cm
+ 0.63492cm
+ Fosfatazione pre-verniciatura
+
+
+ 1.6cm
+ 0.75cm
+
+ 16.4cm
+ 0.63492cm
+ =(Fields!FosfPreVern.Value)
+
+
+ 13cm24.9cm
- 1.50794cm
+ 3.25cm
-
- 11.3cm
- 6.25cm
+
+ 6.9cm
+ 13cm1
- true
- 0.5cm
- 1cm
- Rivestimento
+ 0.2cm
+ 2.6cm
+ =First(Fields!DDT.Value)
-
- 0.5cm
- 11.05cm
+
+ 0.1cm
+
+
+ textbox23
+ 0.1cm
+ 1.4cm
+
+ true
+ 23.3cm
+ 0.5cm
+ Data arrivo
+
+
+ 6.35cm24.9cm
- 4.95cm
+ 3.25cm18cm
diff --git a/project/XPS/bin/SteamWare.XML b/project/XPS/bin/SteamWare.XML
index b1e492e..6809ec2 100644
--- a/project/XPS/bin/SteamWare.XML
+++ b/project/XPS/bin/SteamWare.XML
@@ -4,3382 +4,5 @@
SteamWare
-
-
- classe gesione log files applicazioni
-
-
-
-
- directory base x logs
-
-
-
-
- nome del file corrente
-
-
-
-
- max mb di log da accumulare
-
-
-
-
- controlla se si debba mantenere sotto controllo la dimensioen della cartella logs
-
-
-
-
- singleton del logger
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata con il max di dati indicato
-
-
-
-
- resetta il logfile odierno
-
-
-
-
- scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?)
-
- testo iniziale del log
-
-
-
-
- scrive un messaggio di log con etichetta pre
-
- testo messaggio
- tipo di log da registrare (etichetta [...])
-
-
-
-
- fornisce il nome del file in cui loggare (ed eventualmente crea...)
-
-
-
-
- provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
-
-
-
-
- fornisce il file + vecchio
-
-
-
-
-
-
- livello di log applicazione (da web.config, chiave '_logLevel')
-
-
-
-
- tipo di log ammesso
-
-
-
-
- informazioni di debug
-
-
-
-
- errori
-
-
-
-
- eccezioni nell'esecuzione try/catch
-
-
-
-
- errori fatali
-
-
-
-
- informazioni opzionali
-
-
-
-
- log dei lemmi invocati per traduzione da vocabolario
-
-
-
-
- fase di avvio componente
-
-
-
-
- avvisi
-
-
-
-
- classe di wrap verso i TableAdapter impiegati
-
-
-
-
- metodo protected di avvio della classe
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- setup delle tabelle vocabolario
-
-
-
-
- prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary
-
-
-
-
-
- tableAdapter diritti
-
-
-
-
- tableAdapter permessi
-
-
-
-
- tableAdapter funzione
-
-
-
-
- tableAdapter permessi2funzione
-
-
-
-
- tableAdapter CdC
-
-
-
-
- tableAdapter utenti
-
-
-
-
- tableAdapter userData (user/pwd)
-
-
-
-
- tableAdapter userDataExt (user/pwd)
-
-
-
-
- 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 the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- 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
-
-
-
-
- modalità inserting nuovo valore
-
-
-
-
- tipologia di file immagine
-
-
-
-
- formato gif (no alpha channel)
-
-
-
-
- formato jpeg
-
-
-
-
- formato png
-
-
-
-
- tipo di immagini usate per le icone di comando in web applications
-
-
-
-
- icona annulla (croce rossa)
-
-
-
-
- icona approva (simbolo coccarda)
-
-
-
-
- icona barcode in campo bianco
-
-
-
-
- icona barcode in campo arancio
-
-
-
-
- icona clona (magic wand)
-
-
-
-
- icona converma (spunta verde)
-
-
-
-
- icona elimina (cestino)
-
-
-
-
- icona modifica (matita)
-
-
-
-
- icona notepad (blocco note)
-
-
-
-
- icona notepad + pdf (blocco note)
-
-
-
-
- icona nuovo (segno +)
-
-
-
-
- icona seleziona (lente)
-
-
-
-
- icona semaforo giallo
-
-
-
-
- icona semaforo rosso
-
-
-
-
- icona semaforo verde
-
-
-
-
- icona stampa (printer)
-
-
-
-
- dimensione immagini usate per le icone di comando in web applications
-
-
-
-
- formato piccolo
-
-
-
-
- formato medio
-
-
-
-
- formato grande
-
-
-
-
- modalità di esecuzione applicativi
-
-
-
-
- modalità normale
-
-
-
-
- modalità debug
-
-
-
-
- salvataggio di tutti i lemmi tradotti
-
-
-
-
- struttura che definisce i parametri di un turno di lavoro
-
-
-
-
- definisce un intervalo di 2 date
-
-
-
-
- data inizio
-
-
-
-
- data fine
-
-
-
-
- indica se sia valido il dato, ovvero inizio e fine > 0 e FINE >= INIZIO
-
-
-
-
- struttura orario ordinarie/strordinarie
-
-
-
-
- ore ordinarie
-
-
-
-
- ore straordinarie
-
-
-
-
- classe di funzioni inerenti le date
-
-
-
-
- inizializzazione empty
-
-
-
-
- calcola il turno di riferimento data una data di riferimento
-
-
-
-
-
-
- costruisce un oggetto intervallo date
-
-
-
-
-
-
-
- effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine
-
-
-
-
-
-
-
- oggetto mese precedente alla dataLilmite
-
-
-
-
-
- oggetto mese corrente fino alla dataLilmite
-
-
-
-
-
- confronta le date e restituisce true se le date sono nello stesso mese
-
-
-
-
-
-
-
- restituisce l'intervallo del giorno completo che comprende la data indicata
-
-
-
-
-
-
- restituisce l'intervallo di N giorni fino alla data indicata
-
-
-
-
-
-
-
- restituisce l'intervallo della settimana corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese che comprendela data indicata
-
-
-
-
-
-
- restituisce l'intervallo dell'anno corrente per la data indicata
-
-
-
-
-
-
- oggetto singleton
-
-
-
-
- classe di gestione delle email
-
-
-
-
- stringa nel nome DNS o dell'ip del server SMTP
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
-
- procedura invio email
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- procedura invio email + scrittura in log!
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- metodo singleton gestione email...
-
-
-
-
- Tipo di comparazione, Binary == CaseSensitive, Text = insensitive
-
-
-
-
- tipo controllo : binario
-
-
-
-
- tipo controllo : text
-
-
-
-
- Funzione di splitting compatibile con multi-character e multi-line
-
-
-
-
- stringa da splittare
-
-
-
-
- Delimiter con cui splittare
-
-
-
-
- Costruttore dello Splitter
-
-
-
-
- comparatore case sensitive
-
-
-
-
-
-
-
- comparatore case insensitive
-
-
-
-
-
-
-
- parte principale dello splitter
-
- stringa da splittare
- delimitatore ricercato
- true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base)
-
- 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive
-
-
-
-
- elimina dal nome file il tipo (desinenza)
-
-
-
-
-
-
- Classe di metodi che estendono quelli base applicati alle string
-
-
-
-
- Trasforma in MAIUSCOLo il primo carattere della stringa
-
- stringa da processare
- stringa processata
-
-
-
- restituisce la stringa completa e corretta del filepath del server (anche con vDir)
-
- path relativo alla cartella iis dell'applicativo
- path fisico tradotto
-
-
-
- effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi
-
-
-
-
-
-
- fornisce dati di base per l'utente
-
-
-
-
- fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE
-
-
-
-
-
-
- restituisce la riga completa dall'username richiesto
-
-
-
-
-
-
-
- calcola il nome del computer dato l'IP
-
-
-
-
-
-
- scarica una pagina da URL e fornisce testo string
-
- Indirizzo pagina (completo)
- username (se necessario)
- password (se necessaria)
-
-
-
-
- Represents a strongly typed in-memory cache of data.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- classe gestione utente: auth e permission/ruoli - versione GENERICA
-
-
-
-
- cancella da session l'utente
-
-
-
-
- carica la riga dati utente
-
-
-
-
- carica la riga dati utente da SOLO USERNAME
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato
-
-
-
-
-
- Effettua setup dei permessi una volta salvati i diritti
-
-
-
-
- imposta la lingua utente dal valore della riga DB
-
-
-
-
- costruisce la mappa del sito per l'utente
-
-
-
-
- formatta un nodo in modo corretto dai dati indicati
-
-
-
-
-
-
-
-
- inizializza la gestione utente...
-
-
-
-
- traduce il lemma nella lingua dell'user corrente
-
-
-
-
-
-
- traduce il lemma in inglese
-
-
-
-
-
-
- traduce il lemma nella lingua richiesta
-
-
-
-
-
-
- traduce il lemma nella lingua dell'user e in inglese tra parentesi
-
-
-
-
-
-
- LogOff utente con reset dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- controllo utente/pwd da tab
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato
-
-
-
-
-
-
-
-
- salva dati accessori quali il cdc dell'utente...
-
-
-
-
- verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta
-
-
-
-
-
-
- verifica le credenziali AD dell'utente...
-
-
-
-
-
-
-
- conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1
-
-
-
-
-
-
- verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S')
-
-
-
-
-
-
- ricarica e ri-traduce la mappa sito per l'utente...
-
-
-
-
- retituisce il nome apgina dai permessi utente
-
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente data la matricola...
-
- matricola
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio...
-
- {dominio\}userName
-
-
-
-
- restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti
-
-
-
-
-
-
-
- restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- tabella utenti
-
-
-
- restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- stringa di email separate da ","
-
-
-
- crea un nuovo utente con le credenziali indicate
-
-
-
-
-
-
-
-
-
-
-
- assegna il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- toglier il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...)
-
- modulo di cui si testano i diritti
-
-
-
-
- versione statica della classe utente come singleton UtenTeSignletoN
-
-
-
-
- restituisce la tabella diritti da session
-
-
-
-
- tabella dei permessi utente
-
-
-
-
- tabella dei permessi utente di tipo "WRITE" enabled
-
-
-
-
- retituisce username AD
-
-
-
-
- oggetto utente con metodi get/set
-
-
-
-
- oggetto password con metodi get/set
-
-
-
-
- oggetto dominio con metodi get/set
-
-
-
-
- oggetto modulo (applicazione) con metodi get/set
-
-
-
-
- oggetto lingua utente con metodi get/set
-
-
-
-
- oggetto runMode corrente
-
-
-
-
- restituisce true se utente forzato da forceUser.aspx
-
-
-
-
- restituisce i valori della riga utente da db
-
-
-
-
- restituisce una stringa formattata con cognome, nome e matricola
-
-
-
-
- restituisce una stringa della sigla dell'utente
-
-
-
-
- restituisce una stringa formattata con cognome e nome
-
-
-
-
- restituisce una stringa formattata con cognome
-
-
-
-
- restituisce una stringa formattata con nome
-
-
-
-
- fornisce un file XML della mappa del sito abilitato per l'utente...
-
-
-
-
- è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza...
-
-
-
-
- Accesso in lettura e scrittura al filesystem per gestione files upload e download
-
-
-
-
- path di lavoro dei metodi leggi/scrivi
-
-
-
-
- verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale
-
-
-
-
-
-
- restituisce una tab di files dato l'elenco dei files
-
-
-
-
-
-
- setta le directory
-
-
-
-
-
- oggetto WebClient
-
-
-
-
- inizializza il metodo alla cartella indicata
-
-
- non serve +... x retrocompatibilità...
-
-
-
- metodo di avvio empty
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
-
- cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath
-
-
-
-
-
-
- Legge i dati da uno stream fino a quando arriva alla fine.
- I dati sono restituiti come un byte[] array. un eccezione IOException è
- sollevata se una delle chiamate IO sottostanti fallisce.
-
- Lo stream da cui leggere
- Lunghezza buffer iniziale (-1 = default 32k)
-
-
-
- verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo
-
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata esplicitamente
-
- dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) )
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo filtrati per parametro
-
-
-
-
-
-
- elimina la directory di lavoro se è dir virtuale mappata
-
-
-
-
-
- elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno
-
- regexp selezione files in dir (* = tutti!!!)
-
-
-
-
- verifica se il file indicato esista in workDir
-
-
-
-
-
-
- elimina il file indicato dalla directory di lavoro
-
-
-
-
-
-
- restituisce lo stream del file richiesto
-
-
-
-
-
-
- restituisce la stringa letta dal file richiesto
-
-
-
-
-
-
- scrive il file dallo stream byte[] inviato
-
-
-
-
-
-
-
- scrive il file dalla stringa inviata
-
-
-
-
-
-
-
- converte una string in un byte[]
-
-
-
-
-
-
- converte un byte[] in una string
-
-
-
-
-
-
- sposta il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
-
- imposta la dir di lavoro
-
-
-
-
-
- imposta la dir di lavoro
-
-
- non serve +... x retrocompatibilità...
-
-
-
- imposta la dir di lavoro impostandola dal mapPath corretto della web app...
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto
-
- url del file
- nome con cui salvare il file
-
-
-
-
- comprime zip il file indicato
-
-
-
-
-
-
- comprime zip i files corrispondenti alla RegExp indicata nella dir corrente
-
- Espressione ricerca, come *.txt
- Nome del file zip da creare
-
-
-
-
- scompatta tutto il contenuto di un file zip
-
-
-
-
-
-
- scompatta uno specifico file contenuto in un file zip
-
-
-
-
-
-
- elimina il file indicato
-
-
-
-
-
-
- calcola la dim della directory corrente...
-
-
-
-
-
-
- elimina il file + vecchio
-
-
-
-
-
-
- versione statica (singleton) del'oggetto fileMover
-
-
-
-
- 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/project/XPS/bin/SteamWare.dll b/project/XPS/bin/SteamWare.dll
index 7d9da2e..2c42b53 100644
Binary files a/project/XPS/bin/SteamWare.dll and b/project/XPS/bin/SteamWare.dll differ
diff --git a/project/XPS/bin/XPS.dll b/project/XPS/bin/XPS.dll
index 8828a77..43093e3 100644
Binary files a/project/XPS/bin/XPS.dll and b/project/XPS/bin/XPS.dll differ
diff --git a/project/XPS/bin/XPS_data.dll b/project/XPS/bin/XPS_data.dll
index 3d2d62e..8d2077b 100644
Binary files a/project/XPS/bin/XPS_data.dll and b/project/XPS/bin/XPS_data.dll differ
diff --git a/project/XPS/equaAppSettings.config b/project/XPS/equaAppSettings.config
index f93dab3..3f38438 100644
--- a/project/XPS/equaAppSettings.config
+++ b/project/XPS/equaAppSettings.config
@@ -50,7 +50,7 @@
-
+
diff --git a/project/XPS/obj/Debug/RdlCompile.cache b/project/XPS/obj/Debug/RdlCompile.cache
index 475be61..7bfd30a 100644
Binary files a/project/XPS/obj/Debug/RdlCompile.cache and b/project/XPS/obj/Debug/RdlCompile.cache differ
diff --git a/project/XPS/obj/Debug/XPS.csproj.FileListAbsolute.txt b/project/XPS/obj/Debug/XPS.csproj.FileListAbsolute.txt
index f329f0c..67bb0dc 100644
--- a/project/XPS/obj/Debug/XPS.csproj.FileListAbsolute.txt
+++ b/project/XPS/obj/Debug/XPS.csproj.FileListAbsolute.txt
@@ -36,8 +36,4 @@ c:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2008\Projects\XPS\XPS\obj\
c:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2008\Projects\XPS\XPS\obj\Debug\RdlCompile.compiled
c:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2008\Projects\XPS\XPS\obj\Debug\XPS.dll
c:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2008\Projects\XPS\XPS\obj\Debug\XPS.pdb
-c:\svn\XPS\trunk\project\XPS\obj\Debug\ResolveAssemblyReference.cache
-c:\svn\XPS\trunk\project\XPS\obj\Debug\RdlCompile.cache
-c:\svn\XPS\trunk\project\XPS\obj\Debug\RdlCompile.compiled
-c:\svn\XPS\trunk\project\XPS\obj\Debug\XPS.dll
-c:\svn\XPS\trunk\project\XPS\obj\Debug\XPS.pdb
+C:\Users\samuele.STEAMWAREWIN\Documents\Visual Studio 2008\Projects\XPS\XPS\bin\Reports\ReportSchedaIdentificazione.old.rdlc
diff --git a/project/XPS/obj/Debug/XPS.dll b/project/XPS/obj/Debug/XPS.dll
index 8828a77..43093e3 100644
Binary files a/project/XPS/obj/Debug/XPS.dll and b/project/XPS/obj/Debug/XPS.dll differ
diff --git a/project/XPS/tmp/ReportSchedaIdentificazione_1.emf b/project/XPS/tmp/ReportSchedaIdentificazione_1.emf
index f8a666b..d9efda4 100644
Binary files a/project/XPS/tmp/ReportSchedaIdentificazione_1.emf and b/project/XPS/tmp/ReportSchedaIdentificazione_1.emf differ
diff --git a/project/XPST/bin/SteamWare.XML b/project/XPST/bin/SteamWare.XML
index b1e492e..6809ec2 100644
--- a/project/XPST/bin/SteamWare.XML
+++ b/project/XPST/bin/SteamWare.XML
@@ -4,3382 +4,5 @@
SteamWare
-
-
- classe gesione log files applicazioni
-
-
-
-
- directory base x logs
-
-
-
-
- nome del file corrente
-
-
-
-
- max mb di log da accumulare
-
-
-
-
- controlla se si debba mantenere sotto controllo la dimensioen della cartella logs
-
-
-
-
- singleton del logger
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata con il max di dati indicato
-
-
-
-
- resetta il logfile odierno
-
-
-
-
- scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?)
-
- testo iniziale del log
-
-
-
-
- scrive un messaggio di log con etichetta pre
-
- testo messaggio
- tipo di log da registrare (etichetta [...])
-
-
-
-
- fornisce il nome del file in cui loggare (ed eventualmente crea...)
-
-
-
-
- provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
-
-
-
-
- fornisce il file + vecchio
-
-
-
-
-
-
- livello di log applicazione (da web.config, chiave '_logLevel')
-
-
-
-
- tipo di log ammesso
-
-
-
-
- informazioni di debug
-
-
-
-
- errori
-
-
-
-
- eccezioni nell'esecuzione try/catch
-
-
-
-
- errori fatali
-
-
-
-
- informazioni opzionali
-
-
-
-
- log dei lemmi invocati per traduzione da vocabolario
-
-
-
-
- fase di avvio componente
-
-
-
-
- avvisi
-
-
-
-
- classe di wrap verso i TableAdapter impiegati
-
-
-
-
- metodo protected di avvio della classe
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- setup delle tabelle vocabolario
-
-
-
-
- prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary
-
-
-
-
-
- tableAdapter diritti
-
-
-
-
- tableAdapter permessi
-
-
-
-
- tableAdapter funzione
-
-
-
-
- tableAdapter permessi2funzione
-
-
-
-
- tableAdapter CdC
-
-
-
-
- tableAdapter utenti
-
-
-
-
- tableAdapter userData (user/pwd)
-
-
-
-
- tableAdapter userDataExt (user/pwd)
-
-
-
-
- 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 the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- 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
-
-
-
-
- modalità inserting nuovo valore
-
-
-
-
- tipologia di file immagine
-
-
-
-
- formato gif (no alpha channel)
-
-
-
-
- formato jpeg
-
-
-
-
- formato png
-
-
-
-
- tipo di immagini usate per le icone di comando in web applications
-
-
-
-
- icona annulla (croce rossa)
-
-
-
-
- icona approva (simbolo coccarda)
-
-
-
-
- icona barcode in campo bianco
-
-
-
-
- icona barcode in campo arancio
-
-
-
-
- icona clona (magic wand)
-
-
-
-
- icona converma (spunta verde)
-
-
-
-
- icona elimina (cestino)
-
-
-
-
- icona modifica (matita)
-
-
-
-
- icona notepad (blocco note)
-
-
-
-
- icona notepad + pdf (blocco note)
-
-
-
-
- icona nuovo (segno +)
-
-
-
-
- icona seleziona (lente)
-
-
-
-
- icona semaforo giallo
-
-
-
-
- icona semaforo rosso
-
-
-
-
- icona semaforo verde
-
-
-
-
- icona stampa (printer)
-
-
-
-
- dimensione immagini usate per le icone di comando in web applications
-
-
-
-
- formato piccolo
-
-
-
-
- formato medio
-
-
-
-
- formato grande
-
-
-
-
- modalità di esecuzione applicativi
-
-
-
-
- modalità normale
-
-
-
-
- modalità debug
-
-
-
-
- salvataggio di tutti i lemmi tradotti
-
-
-
-
- struttura che definisce i parametri di un turno di lavoro
-
-
-
-
- definisce un intervalo di 2 date
-
-
-
-
- data inizio
-
-
-
-
- data fine
-
-
-
-
- indica se sia valido il dato, ovvero inizio e fine > 0 e FINE >= INIZIO
-
-
-
-
- struttura orario ordinarie/strordinarie
-
-
-
-
- ore ordinarie
-
-
-
-
- ore straordinarie
-
-
-
-
- classe di funzioni inerenti le date
-
-
-
-
- inizializzazione empty
-
-
-
-
- calcola il turno di riferimento data una data di riferimento
-
-
-
-
-
-
- costruisce un oggetto intervallo date
-
-
-
-
-
-
-
- effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine
-
-
-
-
-
-
-
- oggetto mese precedente alla dataLilmite
-
-
-
-
-
- oggetto mese corrente fino alla dataLilmite
-
-
-
-
-
- confronta le date e restituisce true se le date sono nello stesso mese
-
-
-
-
-
-
-
- restituisce l'intervallo del giorno completo che comprende la data indicata
-
-
-
-
-
-
- restituisce l'intervallo di N giorni fino alla data indicata
-
-
-
-
-
-
-
- restituisce l'intervallo della settimana corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese che comprendela data indicata
-
-
-
-
-
-
- restituisce l'intervallo dell'anno corrente per la data indicata
-
-
-
-
-
-
- oggetto singleton
-
-
-
-
- classe di gestione delle email
-
-
-
-
- stringa nel nome DNS o dell'ip del server SMTP
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
-
- procedura invio email
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- procedura invio email + scrittura in log!
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- metodo singleton gestione email...
-
-
-
-
- Tipo di comparazione, Binary == CaseSensitive, Text = insensitive
-
-
-
-
- tipo controllo : binario
-
-
-
-
- tipo controllo : text
-
-
-
-
- Funzione di splitting compatibile con multi-character e multi-line
-
-
-
-
- stringa da splittare
-
-
-
-
- Delimiter con cui splittare
-
-
-
-
- Costruttore dello Splitter
-
-
-
-
- comparatore case sensitive
-
-
-
-
-
-
-
- comparatore case insensitive
-
-
-
-
-
-
-
- parte principale dello splitter
-
- stringa da splittare
- delimitatore ricercato
- true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base)
-
- 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive
-
-
-
-
- elimina dal nome file il tipo (desinenza)
-
-
-
-
-
-
- Classe di metodi che estendono quelli base applicati alle string
-
-
-
-
- Trasforma in MAIUSCOLo il primo carattere della stringa
-
- stringa da processare
- stringa processata
-
-
-
- restituisce la stringa completa e corretta del filepath del server (anche con vDir)
-
- path relativo alla cartella iis dell'applicativo
- path fisico tradotto
-
-
-
- effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi
-
-
-
-
-
-
- fornisce dati di base per l'utente
-
-
-
-
- fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE
-
-
-
-
-
-
- restituisce la riga completa dall'username richiesto
-
-
-
-
-
-
-
- calcola il nome del computer dato l'IP
-
-
-
-
-
-
- scarica una pagina da URL e fornisce testo string
-
- Indirizzo pagina (completo)
- username (se necessario)
- password (se necessaria)
-
-
-
-
- Represents a strongly typed in-memory cache of data.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- classe gestione utente: auth e permission/ruoli - versione GENERICA
-
-
-
-
- cancella da session l'utente
-
-
-
-
- carica la riga dati utente
-
-
-
-
- carica la riga dati utente da SOLO USERNAME
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato
-
-
-
-
-
- Effettua setup dei permessi una volta salvati i diritti
-
-
-
-
- imposta la lingua utente dal valore della riga DB
-
-
-
-
- costruisce la mappa del sito per l'utente
-
-
-
-
- formatta un nodo in modo corretto dai dati indicati
-
-
-
-
-
-
-
-
- inizializza la gestione utente...
-
-
-
-
- traduce il lemma nella lingua dell'user corrente
-
-
-
-
-
-
- traduce il lemma in inglese
-
-
-
-
-
-
- traduce il lemma nella lingua richiesta
-
-
-
-
-
-
- traduce il lemma nella lingua dell'user e in inglese tra parentesi
-
-
-
-
-
-
- LogOff utente con reset dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- controllo utente/pwd da tab
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato
-
-
-
-
-
-
-
-
- salva dati accessori quali il cdc dell'utente...
-
-
-
-
- verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta
-
-
-
-
-
-
- verifica le credenziali AD dell'utente...
-
-
-
-
-
-
-
- conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1
-
-
-
-
-
-
- verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S')
-
-
-
-
-
-
- ricarica e ri-traduce la mappa sito per l'utente...
-
-
-
-
- retituisce il nome apgina dai permessi utente
-
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente data la matricola...
-
- matricola
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio...
-
- {dominio\}userName
-
-
-
-
- restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti
-
-
-
-
-
-
-
- restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- tabella utenti
-
-
-
- restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- stringa di email separate da ","
-
-
-
- crea un nuovo utente con le credenziali indicate
-
-
-
-
-
-
-
-
-
-
-
- assegna il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- toglier il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...)
-
- modulo di cui si testano i diritti
-
-
-
-
- versione statica della classe utente come singleton UtenTeSignletoN
-
-
-
-
- restituisce la tabella diritti da session
-
-
-
-
- tabella dei permessi utente
-
-
-
-
- tabella dei permessi utente di tipo "WRITE" enabled
-
-
-
-
- retituisce username AD
-
-
-
-
- oggetto utente con metodi get/set
-
-
-
-
- oggetto password con metodi get/set
-
-
-
-
- oggetto dominio con metodi get/set
-
-
-
-
- oggetto modulo (applicazione) con metodi get/set
-
-
-
-
- oggetto lingua utente con metodi get/set
-
-
-
-
- oggetto runMode corrente
-
-
-
-
- restituisce true se utente forzato da forceUser.aspx
-
-
-
-
- restituisce i valori della riga utente da db
-
-
-
-
- restituisce una stringa formattata con cognome, nome e matricola
-
-
-
-
- restituisce una stringa della sigla dell'utente
-
-
-
-
- restituisce una stringa formattata con cognome e nome
-
-
-
-
- restituisce una stringa formattata con cognome
-
-
-
-
- restituisce una stringa formattata con nome
-
-
-
-
- fornisce un file XML della mappa del sito abilitato per l'utente...
-
-
-
-
- è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza...
-
-
-
-
- Accesso in lettura e scrittura al filesystem per gestione files upload e download
-
-
-
-
- path di lavoro dei metodi leggi/scrivi
-
-
-
-
- verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale
-
-
-
-
-
-
- restituisce una tab di files dato l'elenco dei files
-
-
-
-
-
-
- setta le directory
-
-
-
-
-
- oggetto WebClient
-
-
-
-
- inizializza il metodo alla cartella indicata
-
-
- non serve +... x retrocompatibilità...
-
-
-
- metodo di avvio empty
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
-
- cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath
-
-
-
-
-
-
- Legge i dati da uno stream fino a quando arriva alla fine.
- I dati sono restituiti come un byte[] array. un eccezione IOException è
- sollevata se una delle chiamate IO sottostanti fallisce.
-
- Lo stream da cui leggere
- Lunghezza buffer iniziale (-1 = default 32k)
-
-
-
- verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo
-
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata esplicitamente
-
- dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) )
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo filtrati per parametro
-
-
-
-
-
-
- elimina la directory di lavoro se è dir virtuale mappata
-
-
-
-
-
- elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno
-
- regexp selezione files in dir (* = tutti!!!)
-
-
-
-
- verifica se il file indicato esista in workDir
-
-
-
-
-
-
- elimina il file indicato dalla directory di lavoro
-
-
-
-
-
-
- restituisce lo stream del file richiesto
-
-
-
-
-
-
- restituisce la stringa letta dal file richiesto
-
-
-
-
-
-
- scrive il file dallo stream byte[] inviato
-
-
-
-
-
-
-
- scrive il file dalla stringa inviata
-
-
-
-
-
-
-
- converte una string in un byte[]
-
-
-
-
-
-
- converte un byte[] in una string
-
-
-
-
-
-
- sposta il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
-
- imposta la dir di lavoro
-
-
-
-
-
- imposta la dir di lavoro
-
-
- non serve +... x retrocompatibilità...
-
-
-
- imposta la dir di lavoro impostandola dal mapPath corretto della web app...
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto
-
- url del file
- nome con cui salvare il file
-
-
-
-
- comprime zip il file indicato
-
-
-
-
-
-
- comprime zip i files corrispondenti alla RegExp indicata nella dir corrente
-
- Espressione ricerca, come *.txt
- Nome del file zip da creare
-
-
-
-
- scompatta tutto il contenuto di un file zip
-
-
-
-
-
-
- scompatta uno specifico file contenuto in un file zip
-
-
-
-
-
-
- elimina il file indicato
-
-
-
-
-
-
- calcola la dim della directory corrente...
-
-
-
-
-
-
- elimina il file + vecchio
-
-
-
-
-
-
- versione statica (singleton) del'oggetto fileMover
-
-
-
-
- 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/project/XPST/bin/SteamWare.dll b/project/XPST/bin/SteamWare.dll
index 7d9da2e..2c42b53 100644
Binary files a/project/XPST/bin/SteamWare.dll and b/project/XPST/bin/SteamWare.dll differ
diff --git a/project/XPST/bin/XPST.dll b/project/XPST/bin/XPST.dll
index e6b9c10..e5f370d 100644
Binary files a/project/XPST/bin/XPST.dll and b/project/XPST/bin/XPST.dll differ
diff --git a/project/XPST/bin/XPS_data.dll b/project/XPST/bin/XPS_data.dll
index 3d2d62e..8d2077b 100644
Binary files a/project/XPST/bin/XPS_data.dll and b/project/XPST/bin/XPS_data.dll differ
diff --git a/project/XPST/obj/Debug/ResolveAssemblyReference.cache b/project/XPST/obj/Debug/ResolveAssemblyReference.cache
index a1ed2c8..daf1acc 100644
Binary files a/project/XPST/obj/Debug/ResolveAssemblyReference.cache and b/project/XPST/obj/Debug/ResolveAssemblyReference.cache differ
diff --git a/project/XPST/obj/Debug/XPST.dll b/project/XPST/obj/Debug/XPST.dll
index e6b9c10..e5f370d 100644
Binary files a/project/XPST/obj/Debug/XPST.dll and b/project/XPST/obj/Debug/XPST.dll differ
diff --git a/project/XPS_data/bin/Debug/SteamWare.dll b/project/XPS_data/bin/Debug/SteamWare.dll
index 7d9da2e..2c42b53 100644
Binary files a/project/XPS_data/bin/Debug/SteamWare.dll and b/project/XPS_data/bin/Debug/SteamWare.dll differ
diff --git a/project/XPS_data/bin/Debug/SteamWare.xml b/project/XPS_data/bin/Debug/SteamWare.xml
index b1e492e..6809ec2 100644
--- a/project/XPS_data/bin/Debug/SteamWare.xml
+++ b/project/XPS_data/bin/Debug/SteamWare.xml
@@ -4,3382 +4,5 @@
SteamWare
-
-
- classe gesione log files applicazioni
-
-
-
-
- directory base x logs
-
-
-
-
- nome del file corrente
-
-
-
-
- max mb di log da accumulare
-
-
-
-
- controlla se si debba mantenere sotto controllo la dimensioen della cartella logs
-
-
-
-
- singleton del logger
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata
-
-
-
-
- avvio del logger nella dir desiderata con il max di dati indicato
-
-
-
-
- resetta il logfile odierno
-
-
-
-
- scrive sul file log di default il valore della variabile string passata su una riga... (tab delim?!?)
-
- testo iniziale del log
-
-
-
-
- scrive un messaggio di log con etichetta pre
-
- testo messaggio
- tipo di log da registrare (etichetta [...])
-
-
-
-
- fornisce il nome del file in cui loggare (ed eventualmente crea...)
-
-
-
-
- provvede a verificare la dim della cartella dei log e cancella i + vecchi fino a restare a dim inferiori a _logMaxMb
-
-
-
-
- fornisce il file + vecchio
-
-
-
-
-
-
- livello di log applicazione (da web.config, chiave '_logLevel')
-
-
-
-
- tipo di log ammesso
-
-
-
-
- informazioni di debug
-
-
-
-
- errori
-
-
-
-
- eccezioni nell'esecuzione try/catch
-
-
-
-
- errori fatali
-
-
-
-
- informazioni opzionali
-
-
-
-
- log dei lemmi invocati per traduzione da vocabolario
-
-
-
-
- fase di avvio componente
-
-
-
-
- avvisi
-
-
-
-
- classe di wrap verso i TableAdapter impiegati
-
-
-
-
- metodo protected di avvio della classe
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- procedura di avvio dei tableAdapter
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- effettua setup dei connection strings da web.config delal singola applicazione
-
-
-
-
- setup delle tabelle vocabolario
-
-
-
-
- prende l'oggetto tabVocabolario in ram e lo trasforma in dictionary
-
-
-
-
-
- tableAdapter diritti
-
-
-
-
- tableAdapter permessi
-
-
-
-
- tableAdapter funzione
-
-
-
-
- tableAdapter permessi2funzione
-
-
-
-
- tableAdapter CdC
-
-
-
-
- tableAdapter utenti
-
-
-
-
- tableAdapter userData (user/pwd)
-
-
-
-
- tableAdapter userDataExt (user/pwd)
-
-
-
-
- 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 the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- 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
-
-
-
-
- modalità inserting nuovo valore
-
-
-
-
- tipologia di file immagine
-
-
-
-
- formato gif (no alpha channel)
-
-
-
-
- formato jpeg
-
-
-
-
- formato png
-
-
-
-
- tipo di immagini usate per le icone di comando in web applications
-
-
-
-
- icona annulla (croce rossa)
-
-
-
-
- icona approva (simbolo coccarda)
-
-
-
-
- icona barcode in campo bianco
-
-
-
-
- icona barcode in campo arancio
-
-
-
-
- icona clona (magic wand)
-
-
-
-
- icona converma (spunta verde)
-
-
-
-
- icona elimina (cestino)
-
-
-
-
- icona modifica (matita)
-
-
-
-
- icona notepad (blocco note)
-
-
-
-
- icona notepad + pdf (blocco note)
-
-
-
-
- icona nuovo (segno +)
-
-
-
-
- icona seleziona (lente)
-
-
-
-
- icona semaforo giallo
-
-
-
-
- icona semaforo rosso
-
-
-
-
- icona semaforo verde
-
-
-
-
- icona stampa (printer)
-
-
-
-
- dimensione immagini usate per le icone di comando in web applications
-
-
-
-
- formato piccolo
-
-
-
-
- formato medio
-
-
-
-
- formato grande
-
-
-
-
- modalità di esecuzione applicativi
-
-
-
-
- modalità normale
-
-
-
-
- modalità debug
-
-
-
-
- salvataggio di tutti i lemmi tradotti
-
-
-
-
- struttura che definisce i parametri di un turno di lavoro
-
-
-
-
- definisce un intervalo di 2 date
-
-
-
-
- data inizio
-
-
-
-
- data fine
-
-
-
-
- indica se sia valido il dato, ovvero inizio e fine > 0 e FINE >= INIZIO
-
-
-
-
- struttura orario ordinarie/strordinarie
-
-
-
-
- ore ordinarie
-
-
-
-
- ore straordinarie
-
-
-
-
- classe di funzioni inerenti le date
-
-
-
-
- inizializzazione empty
-
-
-
-
- calcola il turno di riferimento data una data di riferimento
-
-
-
-
-
-
- costruisce un oggetto intervallo date
-
-
-
-
-
-
-
- effettua l'operazione di intersezione tra 2 intervali di date restituendo ulteriore intervallo: NB se sono intervali disgiunti restituisce 9/9/9999 x inizio e fine
-
-
-
-
-
-
-
- oggetto mese precedente alla dataLilmite
-
-
-
-
-
- oggetto mese corrente fino alla dataLilmite
-
-
-
-
-
- confronta le date e restituisce true se le date sono nello stesso mese
-
-
-
-
-
-
-
- restituisce l'intervallo del giorno completo che comprende la data indicata
-
-
-
-
-
-
- restituisce l'intervallo di N giorni fino alla data indicata
-
-
-
-
-
-
-
- restituisce l'intervallo della settimana corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese corrente per la data indicata
-
-
-
-
-
-
- restituisce l'intervallo del mese che comprendela data indicata
-
-
-
-
-
-
- restituisce l'intervallo dell'anno corrente per la data indicata
-
-
-
-
-
-
- oggetto singleton
-
-
-
-
- classe di gestione delle email
-
-
-
-
- stringa nel nome DNS o dell'ip del server SMTP
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
- metodo static per la gestione delle email
-
-
-
-
-
-
- procedura invio email
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- procedura invio email + scrittura in log!
-
- email mittente
- email destinatario
- oggetto dell'email
- corpo del messaggio
-
-
-
- metodo singleton gestione email...
-
-
-
-
- Tipo di comparazione, Binary == CaseSensitive, Text = insensitive
-
-
-
-
- tipo controllo : binario
-
-
-
-
- tipo controllo : text
-
-
-
-
- Funzione di splitting compatibile con multi-character e multi-line
-
-
-
-
- stringa da splittare
-
-
-
-
- Delimiter con cui splittare
-
-
-
-
- Costruttore dello Splitter
-
-
-
-
- comparatore case sensitive
-
-
-
-
-
-
-
- comparatore case insensitive
-
-
-
-
-
-
-
- parte principale dello splitter
-
- stringa da splittare
- delimitatore ricercato
- true=il delimiter è un blocco unico, false=qualsiasi oggetto del delimiter fa split (come split base)
-
- 0 -> Binary=CaseSensitive, 1 -> Text=case insensitive
-
-
-
-
- elimina dal nome file il tipo (desinenza)
-
-
-
-
-
-
- Classe di metodi che estendono quelli base applicati alle string
-
-
-
-
- Trasforma in MAIUSCOLo il primo carattere della stringa
-
- stringa da processare
- stringa processata
-
-
-
- restituisce la stringa completa e corretta del filepath del server (anche con vDir)
-
- path relativo alla cartella iis dell'applicativo
- path fisico tradotto
-
-
-
- effettua escape di stringhe di ricerca di tipo filtro per apici e altri caratteri non ammessi
-
-
-
-
-
-
- fornisce dati di base per l'utente
-
-
-
-
- fornisce cognome e nome utente formattati a partire dall'username e dalla tabella UTENTE
-
-
-
-
-
-
- restituisce la riga completa dall'username richiesto
-
-
-
-
-
-
-
- calcola il nome del computer dato l'IP
-
-
-
-
-
-
- scarica una pagina da URL e fornisce testo string
-
- Indirizzo pagina (completo)
- username (se necessario)
- password (se necessaria)
-
-
-
-
- Represents a strongly typed in-memory cache of data.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents the strongly named DataTable class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Represents strongly named DataRow class.
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Row event argument class
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- Represents the connection and commands used to retrieve and save data.
-
-
-
-
- classe gestione utente: auth e permission/ruoli - versione GENERICA
-
-
-
-
- cancella da session l'utente
-
-
-
-
- carica la riga dati utente
-
-
-
-
- carica la riga dati utente da SOLO USERNAME
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session
-
-
-
-
- Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato
-
-
-
-
-
- Effettua setup dei permessi una volta salvati i diritti
-
-
-
-
- imposta la lingua utente dal valore della riga DB
-
-
-
-
- costruisce la mappa del sito per l'utente
-
-
-
-
- formatta un nodo in modo corretto dai dati indicati
-
-
-
-
-
-
-
-
- inizializza la gestione utente...
-
-
-
-
- traduce il lemma nella lingua dell'user corrente
-
-
-
-
-
-
- traduce il lemma in inglese
-
-
-
-
-
-
- traduce il lemma nella lingua richiesta
-
-
-
-
-
-
- traduce il lemma nella lingua dell'user e in inglese tra parentesi
-
-
-
-
-
-
- LogOff utente con reset dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati
-
-
-
-
-
-
-
- controllo utente/pwd da tab
-
-
-
-
-
-
-
- Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati CON I DIRITTI SOLO per il CDC indicato
-
-
-
-
-
-
-
-
- salva dati accessori quali il cdc dell'utente...
-
-
-
-
- verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta
-
-
-
-
-
-
- verifica le credenziali AD dell'utente...
-
-
-
-
-
-
-
- conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1
-
-
-
-
-
-
- verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S')
-
-
-
-
-
-
- ricarica e ri-traduce la mappa sito per l'utente...
-
-
-
-
- retituisce il nome apgina dai permessi utente
-
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente data la matricola...
-
- matricola
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username...
-
- username
-
-
-
-
- restituisce cognome e nome di un utente dato username e dominio...
-
- username
- dominio
-
-
-
-
- restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio...
-
- {dominio\}userName
-
-
-
-
- restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti
-
-
-
-
-
-
-
- restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- tabella utenti
-
-
-
- restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione
-
- nome del modulo
- nome della funzione
- stringa di email separate da ","
-
-
-
- crea un nuovo utente con le credenziali indicate
-
-
-
-
-
-
-
-
-
-
-
- assegna il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- toglier il diritto all'utente indicato
-
-
-
-
-
-
-
-
-
-
- restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...)
-
- modulo di cui si testano i diritti
-
-
-
-
- versione statica della classe utente come singleton UtenTeSignletoN
-
-
-
-
- restituisce la tabella diritti da session
-
-
-
-
- tabella dei permessi utente
-
-
-
-
- tabella dei permessi utente di tipo "WRITE" enabled
-
-
-
-
- retituisce username AD
-
-
-
-
- oggetto utente con metodi get/set
-
-
-
-
- oggetto password con metodi get/set
-
-
-
-
- oggetto dominio con metodi get/set
-
-
-
-
- oggetto modulo (applicazione) con metodi get/set
-
-
-
-
- oggetto lingua utente con metodi get/set
-
-
-
-
- oggetto runMode corrente
-
-
-
-
- restituisce true se utente forzato da forceUser.aspx
-
-
-
-
- restituisce i valori della riga utente da db
-
-
-
-
- restituisce una stringa formattata con cognome, nome e matricola
-
-
-
-
- restituisce una stringa della sigla dell'utente
-
-
-
-
- restituisce una stringa formattata con cognome e nome
-
-
-
-
- restituisce una stringa formattata con cognome
-
-
-
-
- restituisce una stringa formattata con nome
-
-
-
-
- fornisce un file XML della mappa del sito abilitato per l'utente...
-
-
-
-
- è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in rpecedenza...
-
-
-
-
- Accesso in lettura e scrittura al filesystem per gestione files upload e download
-
-
-
-
- path di lavoro dei metodi leggi/scrivi
-
-
-
-
- verifica esistenza directory ed eventualmente crea restituendo nome completo di "/" finale
-
-
-
-
-
-
- restituisce una tab di files dato l'elenco dei files
-
-
-
-
-
-
- setta le directory
-
-
-
-
-
- oggetto WebClient
-
-
-
-
- inizializza il metodo alla cartella indicata
-
-
- non serve +... x retrocompatibilità...
-
-
-
- metodo di avvio empty
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
- cerca di caricare il fileinfo o da httpcontext-application re-position o direttamente come workpath + nomefile
-
-
-
-
-
-
-
- cerca di caricare la directoryInfo o da httpcontext-application re-position o direttamente come workpath
-
-
-
-
-
-
- Legge i dati da uno stream fino a quando arriva alla fine.
- I dati sono restituiti come un byte[] array. un eccezione IOException è
- sollevata se una delle chiamate IO sottostanti fallisce.
-
- Lo stream da cui leggere
- Lunghezza buffer iniziale (-1 = default 32k)
-
-
-
- verifica esistenza directory, eventualmente crea e restituisce controllo DirectoryInfo
-
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata esplicitamente
-
- dir da indicizzare... già mappata! ( es SteamwareStrings.getFilePath(...) )
-
-
-
-
- ottiene il dataset dei files presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- ottiene il dataset dei files DEL TIPO "like {param}" presenti nella directory indicata all'istanziazione dell'oggetto
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo
-
-
-
-
-
- elenco dei files come array di oggetti FileInfo filtrati per parametro
-
-
-
-
-
-
- elimina la directory di lavoro se è dir virtuale mappata
-
-
-
-
-
- elimina tutti i files con la regexp indicata da una directory, true se cancellato almeno uno
-
- regexp selezione files in dir (* = tutti!!!)
-
-
-
-
- verifica se il file indicato esista in workDir
-
-
-
-
-
-
- elimina il file indicato dalla directory di lavoro
-
-
-
-
-
-
- restituisce lo stream del file richiesto
-
-
-
-
-
-
- restituisce la stringa letta dal file richiesto
-
-
-
-
-
-
- scrive il file dallo stream byte[] inviato
-
-
-
-
-
-
-
- scrive il file dalla stringa inviata
-
-
-
-
-
-
-
- converte una string in un byte[]
-
-
-
-
-
-
- converte un byte[] in una string
-
-
-
-
-
-
- sposta il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
- copia il file da From a To...
-
-
-
-
-
-
-
-
-
- imposta la dir di lavoro
-
-
-
-
-
- imposta la dir di lavoro
-
-
- non serve +... x retrocompatibilità...
-
-
-
- imposta la dir di lavoro impostandola dal mapPath corretto della web app...
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- esegue un comando in shell
-
-
-
-
-
-
-
-
- Scarica un file dall'url fornito nella directory indicata x il filemover col nome richiesto
-
- url del file
- nome con cui salvare il file
-
-
-
-
- comprime zip il file indicato
-
-
-
-
-
-
- comprime zip i files corrispondenti alla RegExp indicata nella dir corrente
-
- Espressione ricerca, come *.txt
- Nome del file zip da creare
-
-
-
-
- scompatta tutto il contenuto di un file zip
-
-
-
-
-
-
- scompatta uno specifico file contenuto in un file zip
-
-
-
-
-
-
- elimina il file indicato
-
-
-
-
-
-
- calcola la dim della directory corrente...
-
-
-
-
-
-
- elimina il file + vecchio
-
-
-
-
-
-
- versione statica (singleton) del'oggetto fileMover
-
-
-
-
- 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/project/XPS_data/bin/Debug/XPS_data.dll b/project/XPS_data/bin/Debug/XPS_data.dll
index 3d2d62e..8d2077b 100644
Binary files a/project/XPS_data/bin/Debug/XPS_data.dll and b/project/XPS_data/bin/Debug/XPS_data.dll differ
diff --git a/project/XPS_data/obj/Debug/ResolveAssemblyReference.cache b/project/XPS_data/obj/Debug/ResolveAssemblyReference.cache
index d6a75e0..3e750de 100644
Binary files a/project/XPS_data/obj/Debug/ResolveAssemblyReference.cache and b/project/XPS_data/obj/Debug/ResolveAssemblyReference.cache differ
diff --git a/project/XPS_data/obj/Debug/XPS_data.dll b/project/XPS_data/obj/Debug/XPS_data.dll
index 3d2d62e..8d2077b 100644
Binary files a/project/XPS_data/obj/Debug/XPS_data.dll and b/project/XPS_data/obj/Debug/XPS_data.dll differ