From 2462a66ddbc20b96cb48373d565e39104451d2b0 Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 7 Oct 2019 18:16:42 +0200 Subject: [PATCH] aggiunta win demo --- AppData/DS_App.Designer.cs | 103 +- AppData/DS_App.xss | 2 +- ExtLib/AppData.dll.config | 36 + ExtLib/SteamWare.dll.config | 87 ++ NKC_WF/Web.config | 10 +- RedisExample.sln | 28 + RedisExample/App.config | 22 + RedisExample/ComLib.vb | 319 ++++++ RedisExample/Form1.Designer.vb | 63 ++ RedisExample/Form1.resx | 120 +++ RedisExample/Form1.vb | 20 + .../My Project/Application.Designer.vb | 38 + RedisExample/My Project/Application.myapp | 11 + RedisExample/My Project/AssemblyInfo.vb | 35 + RedisExample/My Project/Resources.Designer.vb | 62 ++ RedisExample/My Project/Resources.resx | 117 +++ RedisExample/My Project/Settings.Designer.vb | 73 ++ RedisExample/My Project/Settings.settings | 7 + RedisExample/RedisExample.vbproj | 159 +++ RedisExample/Report/StackLabel.rdlc | 990 ++++++++++++++++++ RedisExample/ReportTest.rdlc | 10 + RedisExample/packages.config | 13 + 22 files changed, 2268 insertions(+), 57 deletions(-) create mode 100644 ExtLib/AppData.dll.config create mode 100644 ExtLib/SteamWare.dll.config create mode 100644 RedisExample.sln create mode 100644 RedisExample/App.config create mode 100644 RedisExample/ComLib.vb create mode 100644 RedisExample/Form1.Designer.vb create mode 100644 RedisExample/Form1.resx create mode 100644 RedisExample/Form1.vb create mode 100644 RedisExample/My Project/Application.Designer.vb create mode 100644 RedisExample/My Project/Application.myapp create mode 100644 RedisExample/My Project/AssemblyInfo.vb create mode 100644 RedisExample/My Project/Resources.Designer.vb create mode 100644 RedisExample/My Project/Resources.resx create mode 100644 RedisExample/My Project/Settings.Designer.vb create mode 100644 RedisExample/My Project/Settings.settings create mode 100644 RedisExample/RedisExample.vbproj create mode 100644 RedisExample/Report/StackLabel.rdlc create mode 100644 RedisExample/ReportTest.rdlc create mode 100644 RedisExample/packages.config diff --git a/AppData/DS_App.Designer.cs b/AppData/DS_App.Designer.cs index b9d35f6..8c907bb 100644 --- a/AppData/DS_App.Designer.cs +++ b/AppData/DS_App.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Il codice è stato generato da uno strumento. -// Versione runtime:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se -// il codice viene rigenerato. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -4279,7 +4279,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableBatchList.NestingReqColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NestingReq\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NestingReq\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4295,7 +4295,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableBatchList.NestingRespColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NestingResp\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NestingResp\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4322,7 +4322,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableBatchList.ApprovDateColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'ApprovDate\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'ApprovDate\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4360,7 +4360,7 @@ namespace AppData { return ((int)(this[this.tableBatchList.NumOrdersColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumOrders\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumOrders\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4376,7 +4376,7 @@ namespace AppData { return ((int)(this[this.tableBatchList.NumItemsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumItems\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumItems\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4403,7 +4403,7 @@ namespace AppData { return ((int)(this[this.tableBatchList.NumStacksColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumStacks\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumStacks\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4419,7 +4419,7 @@ namespace AppData { return ((int)(this[this.tableBatchList.NumSheetsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumSheets\' nella tabella \'BatchList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumSheets\' in table \'BatchList\' is DBNull.", e); } } set { @@ -4578,7 +4578,7 @@ namespace AppData { return ((string)(this[this.tableStackList.StackDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'StackDtmx\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'StackDtmx\' in table \'StackList\' is DBNull.", e); } } set { @@ -4594,7 +4594,7 @@ namespace AppData { return ((int)(this[this.tableStackList.NumSheetsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumSheets\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumSheets\' in table \'StackList\' is DBNull.", e); } } set { @@ -4610,7 +4610,7 @@ namespace AppData { return ((int)(this[this.tableStackList.NumSheetsPreparedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumSheetsPrepared\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumSheetsPrepared\' in table \'StackList\' is DBNull.", e); } } set { @@ -4626,7 +4626,7 @@ namespace AppData { return ((int)(this[this.tableStackList.NumSheetsPrintedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumSheetsPrinted\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumSheetsPrinted\' in table \'StackList\' is DBNull.", e); } } set { @@ -4642,7 +4642,7 @@ namespace AppData { return ((int)(this[this.tableStackList.NumSheetsWorkedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumSheetsWorked\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumSheetsWorked\' in table \'StackList\' is DBNull.", e); } } set { @@ -4658,7 +4658,7 @@ namespace AppData { return ((int)(this[this.tableStackList.NumItemsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumItems\' nella tabella \'StackList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'NumItems\' in table \'StackList\' is DBNull.", e); } } set { @@ -4783,7 +4783,7 @@ namespace AppData { return ((int)(this[this.tableSheetList.ShStatusColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'ShStatus\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'ShStatus\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4821,7 +4821,7 @@ namespace AppData { return ((int)(this[this.tableSheetList.IsNextColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'IsNext\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'IsNext\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4870,7 +4870,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.PreparedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'Prepared\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'Prepared\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4886,7 +4886,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.PrntStartColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'PrntStart\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'PrntStart\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4902,7 +4902,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.PrntEndColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'PrntEnd\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'PrntEnd\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4918,7 +4918,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.WrkStartColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'WrkStart\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'WrkStart\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4934,7 +4934,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.WrkEndColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'WrkEnd\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'WrkEnd\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4950,7 +4950,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.UnlStartColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'UnlStart\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'UnlStart\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4966,7 +4966,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableSheetList.UnlEndColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'UnlEnd\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'UnlEnd\' in table \'SheetList\' is DBNull.", e); } } set { @@ -4982,7 +4982,7 @@ namespace AppData { return ((int)(this[this.tableSheetList.RemnantIDColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'RemnantID\' nella tabella \'SheetList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'RemnantID\' in table \'SheetList\' is DBNull.", e); } } set { @@ -5265,7 +5265,7 @@ namespace AppData { return ((string)(this[this.tableOrderList.OrdDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'OrdDtmx\' nella tabella \'OrderList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'OrdDtmx\' in table \'OrderList\' is DBNull.", e); } } set { @@ -5347,7 +5347,7 @@ namespace AppData { return ((string)(this[this.tableOrderList.OrdCodOrigColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'OrdCodOrig\' nella tabella \'OrderList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'OrdCodOrig\' in table \'OrderList\' is DBNull.", e); } } set { @@ -5494,7 +5494,7 @@ namespace AppData { return ((int)(this[this.tableItemList.OrdIDColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'OrdID\' nella tabella \'ItemList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'OrdID\' in table \'ItemList\' is DBNull.", e); } } set { @@ -5510,7 +5510,7 @@ namespace AppData { return ((string)(this[this.tableItemList.ItemDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'ItemDtmx\' nella tabella \'ItemList\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'ItemDtmx\' in table \'ItemList\' is DBNull.", e); } } set { @@ -5774,7 +5774,7 @@ namespace AppData { return ((string)(this[this.tableMaterials.MatDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'MatDtmx\' nella tabella \'Materials\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'MatDtmx\' in table \'Materials\' is DBNull.", e); } } set { @@ -5839,7 +5839,7 @@ namespace AppData { return ((global::System.DateTime)(this[this.tableBins.CreationBinsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'CreationBins\' nella tabella \'Bins\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'CreationBins\' in table \'Bins\' is DBNull.", e); } } set { @@ -5866,7 +5866,7 @@ namespace AppData { return ((string)(this[this.tableBins.BinDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'BinDtmx\' nella tabella \'Bins\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'BinDtmx\' in table \'Bins\' is DBNull.", e); } } set { @@ -5954,7 +5954,7 @@ namespace AppData { return ((string)(this[this.tableCarts.CartDtmxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("Il valore della colonna \'CartDtmx\' nella tabella \'Carts\' è DBNull.", e); + throw new global::System.Data.StrongTypingException("The value for column \'CartDtmx\' in table \'Carts\' is DBNull.", e); } } set { @@ -10761,39 +10761,38 @@ SELECT CartID, CreationCarts, CartNum, CartDtmx FROM Carts WHERE (CartID = @Cart } if (((this._orderListTableAdapter != null) && (this.MatchTableAdapterConnection(this._orderListTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } if (((this._batchReqListTableAdapter != null) && (this.MatchTableAdapterConnection(this._batchReqListTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } if (((this._itemListTableAdapter != null) && (this.MatchTableAdapterConnection(this._itemListTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } if (((this._materialsTableAdapter != null) && (this.MatchTableAdapterConnection(this._materialsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } if (((this._binsTableAdapter != null) && (this.MatchTableAdapterConnection(this._binsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } if (((this._cartsTableAdapter != null) && (this.MatchTableAdapterConnection(this._cartsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + - "a stessa stringa di connessione."); + throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + + "tring."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + - "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + - "er valida."); + throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + + "ger TableAdapter property to a valid TableAdapter instance."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -10806,8 +10805,8 @@ SELECT CartID, CreationCarts, CartNum, CartDtmx FROM Carts WHERE (CartID = @Cart } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + - "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); + throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + + "ctions or the current state is not allowing the transaction to begin."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/AppData/DS_App.xss b/AppData/DS_App.xss index 3f775ea..1a4c633 100644 --- a/AppData/DS_App.xss +++ b/AppData/DS_App.xss @@ -4,7 +4,7 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + diff --git a/ExtLib/AppData.dll.config b/ExtLib/AppData.dll.config new file mode 100644 index 0000000..c9adfa6 --- /dev/null +++ b/ExtLib/AppData.dll.config @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ExtLib/SteamWare.dll.config b/ExtLib/SteamWare.dll.config new file mode 100644 index 0000000..30aa5ca --- /dev/null +++ b/ExtLib/SteamWare.dll.config @@ -0,0 +1,87 @@ + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NKC_WF/Web.config b/NKC_WF/Web.config index 413a4d4..8e95804 100644 --- a/NKC_WF/Web.config +++ b/NKC_WF/Web.config @@ -63,14 +63,16 @@ - - + + + value="Data Source=PC-LELE\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;"/> diff --git a/RedisExample.sln b/RedisExample.sln new file mode 100644 index 0000000..293ffde --- /dev/null +++ b/RedisExample.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29215.179 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "RedisExample", "RedisExample\RedisExample.vbproj", "{9694C356-E431-4861-A120-ADEE2AAD6345}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug-LELE|Any CPU = Debug-LELE|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9694C356-E431-4861-A120-ADEE2AAD6345}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9694C356-E431-4861-A120-ADEE2AAD6345}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9694C356-E431-4861-A120-ADEE2AAD6345}.Debug-LELE|Any CPU.ActiveCfg = Debug|Any CPU + {9694C356-E431-4861-A120-ADEE2AAD6345}.Debug-LELE|Any CPU.Build.0 = Debug|Any CPU + {9694C356-E431-4861-A120-ADEE2AAD6345}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9694C356-E431-4861-A120-ADEE2AAD6345}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {135260BE-ABC6-4538-B8B8-D40A70FDDC48} + EndGlobalSection +EndGlobal diff --git a/RedisExample/App.config b/RedisExample/App.config new file mode 100644 index 0000000..594edd9 --- /dev/null +++ b/RedisExample/App.config @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RedisExample/ComLib.vb b/RedisExample/ComLib.vb new file mode 100644 index 0000000..9405c8a --- /dev/null +++ b/RedisExample/ComLib.vb @@ -0,0 +1,319 @@ +Imports Newtonsoft.Json +Imports SteamWare +Imports System +Imports System.Collections.Generic + +Namespace AppData + Public Class ComLib + Public Shared Function traduci(ByVal lemma As String) As String + Return user_std.UtSn.Traduci(lemma) + End Function + + Protected Shared redOutPath As String = "NKC:SERV:BREQ" + Protected Shared redMsgCount As String = "NKC:SERV:BREQ:MCount" + Protected Shared redMsgList As String = "NKC:SERV:BREQ:MList" + Protected Shared redMLCurrStack As String = "NKC:SERV:TAKT:CurrStack" + + Public Enum CStatus + Programmed = 0 + Running + Done + End Enum + + Public Enum BatchStatus + Imported = 0 + EstimationRequested + EstimationDone + NestRequested + NestDone + Approved + Discarded + End Enum + + Public Enum BatchPosition + NotStarted = 0 + StackStarted + StackDone + Current + Completed + End Enum + + Public Shared Function PositionStatusDescr(ByVal value As Object) As String + Dim answ As String = "" + + Try + Dim pStatus As ComLib.BatchPosition = CType([Enum].Parse(GetType(ComLib.BatchPosition), value.ToString()), ComLib.BatchPosition) + + Select Case pStatus + Case BatchPosition.NotStarted + answ = traduci("NotStarted") + Case BatchPosition.StackStarted + answ = traduci("Stacking") + Case BatchPosition.StackDone + answ = traduci("StackDone") + Case Else + End Select + + Catch + End Try + + Return answ + End Function + + Public Shared Function BatchStatusDescr(ByVal value As Object) As String + Dim answ As String = "" + + Try + Dim bStatus As ComLib.BatchStatus = CType([Enum].Parse(GetType(ComLib.BatchStatus), value.ToString()), ComLib.BatchStatus) + + Select Case bStatus + Case BatchStatus.Imported + answ = "Imported" + Case BatchStatus.EstimationRequested + answ = "Estimation Requested" + Case BatchStatus.EstimationDone + answ = "Estimation Completed" + Case BatchStatus.NestRequested + answ = "Nesting Requested" + Case BatchStatus.NestDone + answ = "Nesting Completed" + Case BatchStatus.Approved + answ = "Nesting Approved" + Case BatchStatus.Discarded + answ = "Nesting Discarded" + Case Else + End Select + + Catch + End Try + + Return answ + End Function + + Public Enum PStatus + Programmed = 0 + Present + Printing + Printed + Machining + Machined + Out + End Enum + + Public Class MaterialData + Public Property MaterialId As Integer + Public Property MaterialPN As String + Public Property MaterialDescription As String + End Class + + Public Class WorkData + Public Property ProgramPath As String + Public Property DtStart As DateTime + Public Property DtEnd As DateTime + + Public ReadOnly Property WorkTimeMin As Double + Get + Dim answ As Double = 0 + + If DtStart IsNot Nothing AndAlso DtEnd IsNot Nothing Then + + Try + answ = DtEnd.Subtract(DtStart).TotalMinutes + Catch + End Try + End If + + Return answ + End Get + End Property + End Class + + Public Class Panel + Public Property PanelId As Integer + Public Property Material As MaterialData + Public Property Status As PStatus + Public Property Printing As WorkData + Public Property Machining As WorkData + Public Property Unloading As WorkData + End Class + + Public Class WStack + Public Property StackId As Integer + Public Property Status As CStatus + Public Property DataMatrix As String + Public Property DtStart As DateTime + Public Property DtEnd As DateTime + Public Property PanelsList As List(Of Panel) + + Public ReadOnly Property NumPanels As Integer + Get + Dim answ As Integer = 0 + + Try + answ = PanelsList.Count + Catch + End Try + + Return answ + End Get + End Property + End Class + + Public Class Takt + Public Property TaktId As String + Public Property Status As CStatus + Public Property StackList As List(Of WStack) + + Public ReadOnly Property NumStack As Integer + Get + Dim answ As Integer = 0 + + Try + answ = StackList.Count + Catch + End Try + + Return answ + End Get + End Property + End Class + + Public Class Parte + Public Property PartId As Integer + Public Property DataMatrix As String + Public Property ExtCode As String + Public Property Description As String + Public Property MatId As Integer + Public Property PostProc As String + Public Property ProcessReq As String + Public Property CadFilePath As String + Public Property Qty As Integer + End Class + + Public Class Ordine + Public Property OrdCod As String + Public Property DestPlant As String + Public Property DataMatrix As String + Public Property ExtCode As String + Public Property Model As String + Public Property Qty As Integer + Public Property Items As List(Of Parte) + End Class + + Public Class Batch + Public Property BatchId As Integer + Public Property maxTime As Integer + Public Property procType As Integer + Public Property Orders As List(Of Ordine) + End Class + + Public Shared Function sendMaterials() As Boolean + Dim answ As Boolean = False + Dim table = DataLayer.man.taMat.GetData() + Dim redVal As String = JsonConvert.SerializeObject(table) + Dim redKey As String = $"NKC:SERV:CONF:MATERIALS" + memLayer.ML.setRSV(redKey, redVal) + Return answ + End Function + + Public Shared Function getNextEnv(ByVal BatchID As Integer, ByVal note As String) As String + Dim nextIndex As Long = memLayer.ML.setRCntI(redMsgCount) + Dim answ As String = $"Z{nextIndex}" + Dim lista As Dictionary(Of String, String) = New Dictionary(Of String, String)() + lista.Add(answ, $"{BatchID}|{note}") + memLayer.ML.redSaveHashDict(redMsgList, lista) + Return answ + End Function + + Public Shared Function sendBatchReq(ByVal BatchID As Integer, ByVal note As String) As Boolean + Dim answ As Boolean = False + Dim nextEnv As String = getNextEnv(BatchID, note) + + Try + Dim batch = DataLayer.man.taBL.getByKey(BatchID) + Dim mTime As Integer = 1 + Dim pType As Integer = 1 + + If batch(0).STATUS < CInt(BatchStatus.EstimationDone) Then + mTime = memLayer.ML.cdvi("estimMaxTime") + Else + mTime = memLayer.ML.cdvi("nestMaxTime") + pType = 2 + End If + + Dim tblOrd = DataLayer.man.taOL.getByBatch(BatchID) + Dim redVal As String = JsonConvert.SerializeObject(tblOrd) + Dim redKey As String = $"{redOutPath}:{nextEnv}:ORDERS" + memLayer.ML.setRSV(redKey, redVal) + Dim tblItm = DataLayer.man.taIL.getByBatch(BatchID) + redVal = JsonConvert.SerializeObject(tblItm) + redKey = $"{redOutPath}:{nextEnv}:ITEMS" + memLayer.ML.setRSV(redKey, redVal) + Dim currBatch = New Batch() With { + .BatchId = BatchID, + .maxTime = mTime, + .procType = pType + } + redVal = JsonConvert.SerializeObject(currBatch) + redKey = $"{redOutPath}:{nextEnv}:DATA" + memLayer.ML.setRSV(redKey, redVal) + redKey = $"{redOutPath}:CURR" + memLayer.ML.setRSV(redKey, nextEnv) + answ = True + Catch + End Try + + Return answ + End Function + + Public Shared Function serializeTakt(ByVal currData As Takt) As String + Dim answ As String = JsonConvert.SerializeObject(currData) + Return answ + End Function + + Public Shared Function deserializeTakt(ByVal rawData As String) As Takt + Dim answ As Takt = JsonConvert.DeserializeObject(Of Takt)(rawData) + Return answ + End Function + + Public Shared Function saveTakt(ByVal origin As String, ByVal currData As Takt) As Boolean + Dim answ As Boolean = False + + Try + Dim redKey As String = $"NKC:{origin.ToUpper()}:TAKT:{currData.TaktId}" + Dim redVal As String = serializeTakt(currData) + memLayer.ML.setRSV(redKey, redVal) + answ = True + Catch + End Try + + Return answ + End Function + + Public Shared Function readTakt(ByVal origin As String, ByVal TaktId As String) As Takt + Dim answ As Takt = Nothing + + Try + Dim redKey As String = $"NKC:{origin.ToUpper()}:TAKT:{TaktId}" + Dim redVal As String = memLayer.ML.getRSV(redKey) + answ = deserializeTakt(redVal) + Catch + End Try + + Return answ + End Function + + Public Function prodGetNextTakt() As Takt + Return Nothing + End Function + + Public Shared Property taktMLCurrStack As String + Get + Return memLayer.ML.getRSV(redMLCurrStack) + End Get + Set(ByVal value As String) + memLayer.ML.setRSV(redMLCurrStack, value) + End Set + End Property + End Class +End Namespace diff --git a/RedisExample/Form1.Designer.vb b/RedisExample/Form1.Designer.vb new file mode 100644 index 0000000..e05d246 --- /dev/null +++ b/RedisExample/Form1.Designer.vb @@ -0,0 +1,63 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + _ + Private Sub InitializeComponent() + Me.Button1 = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(420, 107) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "Button1" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(420, 182) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(39, 13) + Me.Label1.TabIndex = 1 + Me.Label1.Text = "Label1" + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(800, 450) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Button1) + Me.Name = "Form1" + Me.Text = "Form1" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Button1 As Button + Friend WithEvents Label1 As Label +End Class diff --git a/RedisExample/Form1.resx b/RedisExample/Form1.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/RedisExample/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/RedisExample/Form1.vb b/RedisExample/Form1.vb new file mode 100644 index 0000000..893dfd2 --- /dev/null +++ b/RedisExample/Form1.vb @@ -0,0 +1,20 @@ +Imports SteamWare +Imports AppData +Imports AppData.ComLib + +Public Class Form1 + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + ' invio notifica che c'è una busta da processare + Dim redKey = $"PROVA:CURR" + ' scrivo su REDIS + memLayer.ML.setRSV(redKey, "ciao " & DateTime.Now.ToString()) + 'ComLib.sendMaterials() + Label1.Text = memLayer.ML.getRSV(redKey) + Dim x As New Takt + x = readTakt("PROD", "20190821.1") + 'x.StackList(0).PanelsList(0).Printing() + 'Dim d = memLayer.ML.connRedis.Configure. + 'Dim h = memLayer.ML.connRedis + End Sub + +End Class diff --git a/RedisExample/My Project/Application.Designer.vb b/RedisExample/My Project/Application.Designer.vb new file mode 100644 index 0000000..bbf576e --- /dev/null +++ b/RedisExample/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.RedisExample.Form1 + End Sub + End Class +End Namespace diff --git a/RedisExample/My Project/Application.myapp b/RedisExample/My Project/Application.myapp new file mode 100644 index 0000000..7b0c597 --- /dev/null +++ b/RedisExample/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/RedisExample/My Project/AssemblyInfo.vb b/RedisExample/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..8f183e8 --- /dev/null +++ b/RedisExample/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' General Information about an assembly is controlled through the following +' set of attributes. Change these attribute values to modify the information +' associated with an assembly. + +' Review the values of the assembly attributes + + + + + + + + + + +'The following GUID is for the ID of the typelib if this project is exposed to COM + + +' Version information for an assembly consists of the following four values: +' +' Major Version +' Minor Version +' Build Number +' Revision +' +' You can specify all the values or you can default the Build and Revision Numbers +' by using the '*' as shown below: +' + + + diff --git a/RedisExample/My Project/Resources.Designer.vb b/RedisExample/My Project/Resources.Designer.vb new file mode 100644 index 0000000..288a6de --- /dev/null +++ b/RedisExample/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("RedisExample.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/RedisExample/My Project/Resources.resx b/RedisExample/My Project/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/RedisExample/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/RedisExample/My Project/Settings.Designer.vb b/RedisExample/My Project/Settings.Designer.vb new file mode 100644 index 0000000..09d1ee7 --- /dev/null +++ b/RedisExample/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.RedisExample.My.MySettings + Get + Return Global.RedisExample.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/RedisExample/My Project/Settings.settings b/RedisExample/My Project/Settings.settings new file mode 100644 index 0000000..377f56d --- /dev/null +++ b/RedisExample/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RedisExample/RedisExample.vbproj b/RedisExample/RedisExample.vbproj new file mode 100644 index 0000000..742a733 --- /dev/null +++ b/RedisExample/RedisExample.vbproj @@ -0,0 +1,159 @@ + + + + + Debug + AnyCPU + {9694C356-E431-4861-A120-ADEE2AAD6345} + WinExe + RedisExample.My.MyApplication + RedisExample + RedisExample + 512 + WindowsForms + v4.6.2 + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + RedisExample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + RedisExample.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + ..\packages\Pipelines.Sockets.Unofficial.2.0.22\lib\net461\Pipelines.Sockets.Unofficial.dll + + + ..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll + + + ..\ExtLib\SteamWare.dll + + + + ..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll + + + + + ..\packages\System.Diagnostics.PerformanceCounter.4.5.0\lib\net461\System.Diagnostics.PerformanceCounter.dll + + + + ..\packages\System.IO.Pipelines.4.5.1\lib\netstandard2.0\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.5.1\lib\netstandard2.0\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll + + + ..\packages\System.Threading.Channels.4.5.0\lib\netstandard2.0\System.Threading.Channels.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.5.1\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form1.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + Form1.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + \ No newline at end of file diff --git a/RedisExample/Report/StackLabel.rdlc b/RedisExample/Report/StackLabel.rdlc new file mode 100644 index 0000000..7f6b436 --- /dev/null +++ b/RedisExample/Report/StackLabel.rdlc @@ -0,0 +1,990 @@ + + + + + + + + + 7.46875in + + + + + 4.01896in + + + + + + + + + + 1.17708in + + + 1.36458in + + + 3.31771in + + + 1.60417in + + + + + 0.22in + + + + + true + true + + + + + SEQUENCE # + + + + + + + textbox4 + + + + Black + + 1pt + + + Black + + + Black + + 1pt + + + Black + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + MATERIAL ID # + + + + + + + textbox20 + + + + Black + + 1pt + + + Black + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + DESCRIPTION + + + + + + + textbox21 + + + + Black + + 1pt + + + Black + + + Black + + 1pt + + + Black + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + CONFIRMED BY + + + + + + + Textbox66 + + + + Black + + 1pt + + + Black + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.21in + + + + + true + true + + + + + =Fields!SheetIndex.Value + + + + + + + SheetIndex + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!MatExtCode.Value + + + + + + + MatExtCode + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!MatDesc.Value + + + + + + + MatDesc + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + + + + Textbox67 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + After + true + true + + + + Detail + + + + + Detail_Collection + Output + true + + + + stp_prt_StackLabel + + + =Fields!SheetIndex.Value + + + 3.44657in + 0.01322cm + 0.43in + 7.46354in + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + + + true + true + + + + + MATERIAL LIST FROM + + + + + + + + + TOP OF BUNK TO BOTTOM + + + + + + + StackIndex + 7.24826cm + 0.01322cm + 0.59292in + 7.46354in + 1 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + External + =Replace(Parameters!QRCodeBaseURL.Value.ToString(),"QRCODEVALUE",Fields!StackDtmx.Value.ToString()) + +'=Parameters!QRCodeBaseURL.Value.ToString() & ":['" & Fields!StackID.Value.ToString() & "']}" + +'https://qrcode.steamware.net/HOME/QR_site/JSON?val={'baseUrl':'http://10.74.82.219/StockMan/STEA/Items/Details/{0}?StockItemID={0}','parameters':['VARIABILE']} + FitProportional + 3.08698in + 1.3in + 1.3in + 2 + + + + + + + + true + true + + + + + BUNK ID NUMBER : + + + + =Fields!StackIndex.Value + + + + + + + StackIndex + 0.33391cm + 0.31751cm + 0.27in + 3.58333in + + + + true + true + + + + + RELEASE DATE : + + + + + =Fields!Prepared.Value + + + + + + + StackIndex + 1.12554cm + 0.3175cm + 0.27in + 6.60417in + 1 + + + + true + true + + + + + TO BE CUT DATE : + + + + + =Fields!DueDate.Value + + + + + + + StackIndex + 1.95245cm + 0.31751cm + 0.27in + 6.60417in + 2 + + + + true + true + + + + + MATERIAL SORTED BY + + + + + + + StackIndex + 0.29863cm + 9.72343cm + 0.27in + 2.90105in + 3 + + + + true + 1.43055in + 0.00522in + 1.15625in + 7.46353in + 3 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + + + true + + + + true + true + + + + + BUNK BUILD SHEET + + + + + + + textbox1 + 0.56833in + 7.46875in + 1 + + + Top + 2pt + 2pt + 2pt + 2pt + + + + 4.68798in +