From d684c46be46fae17b49128e5b49849f19c3b936b Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 Sep 2023 15:53:03 +0200 Subject: [PATCH 1/5] Eliminazione old lib Gomba.Core --- .../GombaWS/ConnectedService.json | 16 - .../Connected Services/GombaWS/Reference.cs | 679 ------------------ .../EgwProxy.Gomba.Core.csproj | 18 - EgwProxy.Gomba.Core/Program.cs | 3 - 4 files changed, 716 deletions(-) delete mode 100644 EgwProxy.Gomba.Core/Connected Services/GombaWS/ConnectedService.json delete mode 100644 EgwProxy.Gomba.Core/Connected Services/GombaWS/Reference.cs delete mode 100644 EgwProxy.Gomba.Core/EgwProxy.Gomba.Core.csproj delete mode 100644 EgwProxy.Gomba.Core/Program.cs diff --git a/EgwProxy.Gomba.Core/Connected Services/GombaWS/ConnectedService.json b/EgwProxy.Gomba.Core/Connected Services/GombaWS/ConnectedService.json deleted file mode 100644 index 657a745b..00000000 --- a/EgwProxy.Gomba.Core/Connected Services/GombaWS/ConnectedService.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ExtendedData": { - "inputs": [ - "https://308gomba:8000/ws?wsdl" - ], - "collectionTypes": [ - "System.Array", - "System.Collections.Generic.Dictionary`2" - ], - "namespaceMappings": [ - "*, GombaWS" - ], - "targetFramework": "net6.0", - "typeReuseMode": "All" - } -} \ No newline at end of file diff --git a/EgwProxy.Gomba.Core/Connected Services/GombaWS/Reference.cs b/EgwProxy.Gomba.Core/Connected Services/GombaWS/Reference.cs deleted file mode 100644 index 9c1d8f5e..00000000 --- a/EgwProxy.Gomba.Core/Connected Services/GombaWS/Reference.cs +++ /dev/null @@ -1,679 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace GombaWS -{ - - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ServiceModel.ServiceContractAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", ConfigurationName="GombaWS.lwpService")] - public interface lwpService - { - - [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightListResponse")] - [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] - System.Threading.Tasks.Task reqWeightListAsync(GombaWS.reqWeightListRequest request); - - [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/memWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/memWeightResponse")] - [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] - System.Threading.Tasks.Task memWeightAsync(GombaWS.memWeightRequest request); - - [System.ServiceModel.OperationContractAttribute(Action="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightRequest", ReplyAction="http://servicesImpl.webServices.gomba.com/lwpService/reqWeightResponse")] - [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)] - System.Threading.Tasks.Task reqWeightAsync(GombaWS.reqWeightRequest request); - } - - /// - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://servicesImpl.webServices.gomba.com/")] - public partial class gestWeightOut - { - - private string balanceInField; - - private string balanceOutField; - - private string cod1Field; - - private string cod2Field; - - private string cod3Field; - - private string cod4Field; - - private string cod5Field; - - private string cod6Field; - - private System.DateTime dateInField; - - private bool dateInFieldSpecified; - - private System.DateTime dateOutField; - - private bool dateOutFieldSpecified; - - private string feedbackField; - - private string idMemInField; - - private string idMemOutField; - - private string netField; - - private string notesField; - - private string rmField; - - private string weightInField; - - private string weightOutField; - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=0)] - public string balanceIn - { - get - { - return this.balanceInField; - } - set - { - this.balanceInField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=1)] - public string balanceOut - { - get - { - return this.balanceOutField; - } - set - { - this.balanceOutField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=2)] - public string cod1 - { - get - { - return this.cod1Field; - } - set - { - this.cod1Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=3)] - public string cod2 - { - get - { - return this.cod2Field; - } - set - { - this.cod2Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=4)] - public string cod3 - { - get - { - return this.cod3Field; - } - set - { - this.cod3Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=5)] - public string cod4 - { - get - { - return this.cod4Field; - } - set - { - this.cod4Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=6)] - public string cod5 - { - get - { - return this.cod5Field; - } - set - { - this.cod5Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=7)] - public string cod6 - { - get - { - return this.cod6Field; - } - set - { - this.cod6Field = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=8)] - public System.DateTime dateIn - { - get - { - return this.dateInField; - } - set - { - this.dateInField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool dateInSpecified - { - get - { - return this.dateInFieldSpecified; - } - set - { - this.dateInFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=9)] - public System.DateTime dateOut - { - get - { - return this.dateOutField; - } - set - { - this.dateOutField = value; - } - } - - /// - [System.Xml.Serialization.XmlIgnoreAttribute()] - public bool dateOutSpecified - { - get - { - return this.dateOutFieldSpecified; - } - set - { - this.dateOutFieldSpecified = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=10)] - public string feedback - { - get - { - return this.feedbackField; - } - set - { - this.feedbackField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=11)] - public string idMemIn - { - get - { - return this.idMemInField; - } - set - { - this.idMemInField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=12)] - public string idMemOut - { - get - { - return this.idMemOutField; - } - set - { - this.idMemOutField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=13)] - public string net - { - get - { - return this.netField; - } - set - { - this.netField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=14)] - public string notes - { - get - { - return this.notesField; - } - set - { - this.notesField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=15)] - public string rm - { - get - { - return this.rmField; - } - set - { - this.rmField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=16)] - public string weightIn - { - get - { - return this.weightInField; - } - set - { - this.weightInField = value; - } - } - - /// - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified, Order=17)] - public string weightOut - { - get - { - return this.weightOutField; - } - set - { - this.weightOutField = value; - } - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightList", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class reqWeightListRequest - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string type; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string dateStart; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string dateEnd; - - public reqWeightListRequest() - { - } - - public reqWeightListRequest(string type, string dateStart, string dateEnd) - { - this.type = type; - this.dateStart = dateStart; - this.dateEnd = dateEnd; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightListResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class reqWeightListResponse - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute("return", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public GombaWS.gestWeightOut[] @return; - - public reqWeightListResponse() - { - } - - public reqWeightListResponse(GombaWS.gestWeightOut[] @return) - { - this.@return = @return; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="memWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class memWeightRequest - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string type; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=1)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string rm; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=2)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod1; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=3)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod2; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=4)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod3; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=5)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod4; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=6)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod5; - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=7)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string cod6; - - public memWeightRequest() - { - } - - public memWeightRequest(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) - { - this.type = type; - this.rm = rm; - this.cod1 = cod1; - this.cod2 = cod2; - this.cod3 = cod3; - this.cod4 = cod4; - this.cod5 = cod5; - this.cod6 = cod6; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="memWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class memWeightResponse - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public GombaWS.gestWeightOut @return; - - public memWeightResponse() - { - } - - public memWeightResponse(GombaWS.gestWeightOut @return) - { - this.@return = @return; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeight", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class reqWeightRequest - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public string rm; - - public reqWeightRequest() - { - } - - public reqWeightRequest(string rm) - { - this.rm = rm; - } - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - [System.ServiceModel.MessageContractAttribute(WrapperName="reqWeightResponse", WrapperNamespace="http://servicesImpl.webServices.gomba.com/", IsWrapped=true)] - public partial class reqWeightResponse - { - - [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://servicesImpl.webServices.gomba.com/", Order=0)] - [System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] - public GombaWS.gestWeightOut @return; - - public reqWeightResponse() - { - } - - public reqWeightResponse(GombaWS.gestWeightOut @return) - { - this.@return = @return; - } - } - - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - public interface lwpServiceChannel : GombaWS.lwpService, System.ServiceModel.IClientChannel - { - } - - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Tools.ServiceModel.Svcutil", "2.0.3")] - public partial class lwpServiceClient : System.ServiceModel.ClientBase, GombaWS.lwpService - { - - /// - /// Implement this partial method to configure the service endpoint. - /// - /// The endpoint to configure - /// The client credentials - static partial void ConfigureEndpoint(System.ServiceModel.Description.ServiceEndpoint serviceEndpoint, System.ServiceModel.Description.ClientCredentials clientCredentials); - - public lwpServiceClient() : - base(lwpServiceClient.GetDefaultBinding(), lwpServiceClient.GetDefaultEndpointAddress()) - { - this.Endpoint.Name = EndpointConfiguration.lwpServicePort.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public lwpServiceClient(EndpointConfiguration endpointConfiguration) : - base(lwpServiceClient.GetBindingForEndpoint(endpointConfiguration), lwpServiceClient.GetEndpointAddress(endpointConfiguration)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public lwpServiceClient(EndpointConfiguration endpointConfiguration, string remoteAddress) : - base(lwpServiceClient.GetBindingForEndpoint(endpointConfiguration), new System.ServiceModel.EndpointAddress(remoteAddress)) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public lwpServiceClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) : - base(lwpServiceClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress) - { - this.Endpoint.Name = endpointConfiguration.ToString(); - ConfigureEndpoint(this.Endpoint, this.ClientCredentials); - } - - public lwpServiceClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : - base(binding, remoteAddress) - { - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - System.Threading.Tasks.Task GombaWS.lwpService.reqWeightListAsync(GombaWS.reqWeightListRequest request) - { - return base.Channel.reqWeightListAsync(request); - } - - public System.Threading.Tasks.Task reqWeightListAsync(string type, string dateStart, string dateEnd) - { - GombaWS.reqWeightListRequest inValue = new GombaWS.reqWeightListRequest(); - inValue.type = type; - inValue.dateStart = dateStart; - inValue.dateEnd = dateEnd; - return ((GombaWS.lwpService)(this)).reqWeightListAsync(inValue); - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - System.Threading.Tasks.Task GombaWS.lwpService.memWeightAsync(GombaWS.memWeightRequest request) - { - return base.Channel.memWeightAsync(request); - } - - public System.Threading.Tasks.Task memWeightAsync(string type, string rm, string cod1, string cod2, string cod3, string cod4, string cod5, string cod6) - { - GombaWS.memWeightRequest inValue = new GombaWS.memWeightRequest(); - inValue.type = type; - inValue.rm = rm; - inValue.cod1 = cod1; - inValue.cod2 = cod2; - inValue.cod3 = cod3; - inValue.cod4 = cod4; - inValue.cod5 = cod5; - inValue.cod6 = cod6; - return ((GombaWS.lwpService)(this)).memWeightAsync(inValue); - } - - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] - System.Threading.Tasks.Task GombaWS.lwpService.reqWeightAsync(GombaWS.reqWeightRequest request) - { - return base.Channel.reqWeightAsync(request); - } - - public System.Threading.Tasks.Task reqWeightAsync(string rm) - { - GombaWS.reqWeightRequest inValue = new GombaWS.reqWeightRequest(); - inValue.rm = rm; - return ((GombaWS.lwpService)(this)).reqWeightAsync(inValue); - } - - public virtual System.Threading.Tasks.Task OpenAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginOpen(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndOpen)); - } - - public virtual System.Threading.Tasks.Task CloseAsync() - { - return System.Threading.Tasks.Task.Factory.FromAsync(((System.ServiceModel.ICommunicationObject)(this)).BeginClose(null, null), new System.Action(((System.ServiceModel.ICommunicationObject)(this)).EndClose)); - } - - private static System.ServiceModel.Channels.Binding GetBindingForEndpoint(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.lwpServicePort)) - { - System.ServiceModel.BasicHttpBinding result = new System.ServiceModel.BasicHttpBinding(); - result.MaxBufferSize = int.MaxValue; - result.ReaderQuotas = System.Xml.XmlDictionaryReaderQuotas.Max; - result.MaxReceivedMessageSize = int.MaxValue; - result.AllowCookies = true; - result.Security.Mode = System.ServiceModel.BasicHttpSecurityMode.Transport; - return result; - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.EndpointAddress GetEndpointAddress(EndpointConfiguration endpointConfiguration) - { - if ((endpointConfiguration == EndpointConfiguration.lwpServicePort)) - { - return new System.ServiceModel.EndpointAddress("https://308gomba:8000/ws"); - } - throw new System.InvalidOperationException(string.Format("Could not find endpoint with name \'{0}\'.", endpointConfiguration)); - } - - private static System.ServiceModel.Channels.Binding GetDefaultBinding() - { - return lwpServiceClient.GetBindingForEndpoint(EndpointConfiguration.lwpServicePort); - } - - private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress() - { - return lwpServiceClient.GetEndpointAddress(EndpointConfiguration.lwpServicePort); - } - - public enum EndpointConfiguration - { - - lwpServicePort, - } - } -} diff --git a/EgwProxy.Gomba.Core/EgwProxy.Gomba.Core.csproj b/EgwProxy.Gomba.Core/EgwProxy.Gomba.Core.csproj deleted file mode 100644 index db5dfc82..00000000 --- a/EgwProxy.Gomba.Core/EgwProxy.Gomba.Core.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - Exe - net6.0 - enable - enable - - - - - - - - - - - diff --git a/EgwProxy.Gomba.Core/Program.cs b/EgwProxy.Gomba.Core/Program.cs deleted file mode 100644 index 3ed0e5d7..00000000 --- a/EgwProxy.Gomba.Core/Program.cs +++ /dev/null @@ -1,3 +0,0 @@ -// See https://aka.ms/new-console-template for more information -Console.WriteLine("Hello, World!"); - From c50f5825d39228f0415893d696697781b73efbd2 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 Sep 2023 15:53:17 +0200 Subject: [PATCH 2/5] Inizio modifica yaml x Gomba --- .gitlab-ci.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 03b1bc67..d7f20aa0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -286,6 +286,23 @@ EgwProxy.SqlDb:build: script: - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' +EgwProxy.Gomba:build: + stage: build + tags: + - win + variables: + APP_NAME: EgwProxy.Gomba + only: + refs: + - develop + - SDK/Gomba + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=Release /p:Platform="x86" /p:OutputPath=bin/ /nodeReuse:false /verbosity:minimal /m' + # -------------------------------- # STAGING: (nuget beta) From 15bfe327a7382b9ffa659e054a0daf4c70aa0fe1 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 Sep 2023 16:02:47 +0200 Subject: [PATCH 3/5] Update con pacchetti nuget unstable --- .gitlab-ci.yml | 32 +++++++++++++++++++++++++++----- EgwProxy.Gomba.Debug.nuspec | 28 ++++++++++++++++++++++++++++ EgwProxy.Gomba.Release.nuspec | 27 +++++++++++++++++++++++++++ 3 files changed, 82 insertions(+), 5 deletions(-) create mode 100644 EgwProxy.Gomba.Debug.nuspec create mode 100644 EgwProxy.Gomba.Release.nuspec diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d7f20aa0..f7f487fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -307,7 +307,7 @@ EgwProxy.Gomba:build: # -------------------------------- # STAGING: (nuget beta) # -------------------------------- -EgwProxy.Ftp:build:staging: +EgwProxy.Ftp:staging: stage: staging needs: ["EgwProxy.Ftp:build"] tags: @@ -330,7 +330,7 @@ EgwProxy.Ftp:build:staging: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -EgwProxy.Icoel:build:staging: +EgwProxy.Icoel:staging: stage: staging needs: ["EgwProxy.Icoel:build"] tags: @@ -353,7 +353,7 @@ EgwProxy.Icoel:build:staging: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -EgwProxy.MultiCncLib:build:staging: +EgwProxy.MultiCncLib:staging: stage: staging needs: ["EgwProxy.MultiCncLib:build"] tags: @@ -377,7 +377,7 @@ EgwProxy.MultiCncLib:build:staging: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -EgwProxy.OsaiCncLib:build:staging: +EgwProxy.OsaiCncLib:staging: stage: staging needs: ["EgwProxy.OsaiCncLib:build"] tags: @@ -401,7 +401,7 @@ EgwProxy.OsaiCncLib:build:staging: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' -EgwProxy.SqlDb:build:staging: +EgwProxy.SqlDb:staging: stage: staging needs: ["EgwProxy.SqlDb:build"] tags: @@ -424,6 +424,28 @@ EgwProxy.SqlDb:build:staging: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Gomba:staging: + stage: staging + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + CONFIG: Debug + APP_NAME: EgwProxy.Gomba + only: + refs: + - develop + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' + - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' # -------------------------------- # RELEASE # -------------------------------- diff --git a/EgwProxy.Gomba.Debug.nuspec b/EgwProxy.Gomba.Debug.nuspec new file mode 100644 index 00000000..6827c272 --- /dev/null +++ b/EgwProxy.Gomba.Debug.nuspec @@ -0,0 +1,28 @@ + + + + EgwProxy.Gomba + #version# + EgwProxy.Gomba + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con adapter SOAP XML delle bilance Gomba x scambio dati (IOB-WIN-NEXT) - beta/unstable + #releaseNotes# + #copyright# + EgwProxy.Gomba EgwProxy Gomba + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/EgwProxy.Gomba.Release.nuspec b/EgwProxy.Gomba.Release.nuspec new file mode 100644 index 00000000..69db26da --- /dev/null +++ b/EgwProxy.Gomba.Release.nuspec @@ -0,0 +1,27 @@ + + + + EgwProxy.Gomba + #version# + EgwProxy.Gomba + Samuele E. Locatelli, EgalWare + false + MIT + Libreria per comunicazione con adapter SOAP XML delle bilance Gomba x scambio dati (IOB-WIN-NEXT) + #releaseNotes# + #copyright# + EgwProxy.Gomba EgwProxy Gomba + + + + + + + + + + + + + + \ No newline at end of file From 1ceb6bd9a39fb723763d7cb2be34aff8ee3da7b1 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 Sep 2023 16:14:13 +0200 Subject: [PATCH 4/5] Test CI/CD x Gomba nuget --- .gitlab-ci.yml | 45 +++++++++++++++++++++++++++++--- IOB-WIN-NEXT/IOB-WIN-NEXT.csproj | 25 ++++++++++++++++++ IOB-WIN-NEXT/packages.config | 7 +++++ 3 files changed, 74 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f7f487fd..3a13a356 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -446,6 +446,8 @@ EgwProxy.Gomba:staging: - '& $env:NUGET_PATH pack "$env:APP_NAME.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + + # -------------------------------- # RELEASE # -------------------------------- @@ -637,6 +639,29 @@ EgwProxy.SqlDb:build:release: - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' +EgwProxy.Gomba:build:release: + stage: release + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + CONFIG: Release + APP_NAME: EgwProxy.Gomba + only: + refs: + - SDK/Gomba + before_script: + - *nuget-fix + - '& "$env:NUGET_PATH" restore "$env:APP_NAME.sln" -verbosity quiet' + - *version-fix + - *nuspec-fix + script: + - '& "$env:MSBUILD_PATH" "$env:APP_NAME\$env:APP_NAME.csproj" -target:Build /p:Configuration=$env:CONFIG /p:Platform="Any CPU" /p:OutputPath=bin/$env:CONFIG /verbosity:minimal /m' + - '& Remove-Item *.nupkg' + - '& $env:NUGET_PATH pack "$env:APP_NAME.Release.nuspec"' + - '& "$env:NUGET_PATH" setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted' + - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' + # -------------------------------- # DocFx # -------------------------------- @@ -698,13 +723,27 @@ EgwProxy.OsaiCncLib:docfx: EgwProxy.SqlDb:docfx: stage: docfx - needs: ["EgwProxy.Icoel:build"] + needs: ["EgwProxy.SqlDb:build"] tags: - win variables: - APP_NAME: EgwProxy.Icoel + APP_NAME: EgwProxy.SqlDb only: - - SDK/Icoel + - SDK/SqlDb + script: + - docfx $env:APP_NAME/docfx.json + - mv $env:APP_NAME/_site "docfx" + - *DocReplica + +EgwProxy.Gomba:docfx: + stage: docfx + needs: ["EgwProxy.Gomba:build"] + tags: + - win + variables: + APP_NAME: EgwProxy.Gomba + only: + - SDK/Gomba script: - docfx $env:APP_NAME/docfx.json - mv $env:APP_NAME/_site "docfx" diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index b5ba74d0..1a5afcbc 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -113,6 +113,9 @@ ..\packages\EgwProxy.Ftp.3.6.2210.1815\lib\EgwProxy.Ftp.dll + + ..\packages\EgwProxy.Gomba.3.6.2309-beta.1416\lib\EgwProxy.Gomba.dll + ..\packages\EgwProxy.Icoel.3.6.2309.708\lib\EgwProxy.Icoel.dll @@ -319,6 +322,16 @@ True + + ..\packages\System.Runtime.Serialization.Primitives.4.3.0\lib\net46\System.Runtime.Serialization.Primitives.dll + True + True + + + ..\packages\System.Runtime.Serialization.Xml.4.3.0\lib\net46\System.Runtime.Serialization.Xml.dll + True + True + ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll @@ -341,6 +354,18 @@ True + + ..\packages\System.ServiceModel.Http.4.6.0\lib\net461\System.ServiceModel.Http.dll + + + ..\packages\System.ServiceModel.NetTcp.4.6.0\lib\net461\System.ServiceModel.NetTcp.dll + + + ..\packages\System.ServiceModel.Primitives.4.6.0\lib\net461\System.ServiceModel.Primitives.dll + + + ..\packages\System.ServiceModel.Security.4.6.0\lib\net461\System.ServiceModel.Security.dll + ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 14f4d644..ef9bf277 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -4,6 +4,7 @@ + @@ -75,10 +76,16 @@ + + + + + + From a7f5cbe27f3dbee8dbc84c0b6607ce3f4f4a4b37 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Thu, 14 Sep 2023 16:16:59 +0200 Subject: [PATCH 5/5] Update conf x docfx Gomba --- EgwProxy.Gomba/docfx.json | 69 ++++++++++++++++++++++++++++++++++++++ EgwProxy.Gomba/index.md | 17 ++++++++++ EgwProxy.Gomba/index.pdf | Bin 0 -> 30974 bytes EgwProxy.Gomba/toc.yml | 6 ++++ 4 files changed, 92 insertions(+) create mode 100644 EgwProxy.Gomba/docfx.json create mode 100644 EgwProxy.Gomba/index.md create mode 100644 EgwProxy.Gomba/index.pdf create mode 100644 EgwProxy.Gomba/toc.yml diff --git a/EgwProxy.Gomba/docfx.json b/EgwProxy.Gomba/docfx.json new file mode 100644 index 00000000..435e3499 --- /dev/null +++ b/EgwProxy.Gomba/docfx.json @@ -0,0 +1,69 @@ +{ + "metadata": [ + { + "src": [ + { + "files": [ + "*.csproj", + "*.vbproj" + ], + "cwd": ".", + "exclude": [ + "**/obj/**", + "**/bin/**", + "_site/**" + ] + } + ], + "dest": "obj/api" + } + ], + "build": { + "content": [ + { + "files": [ + "api/**.yml" + ], + "cwd": "obj" + }, + { + "files": [ + "api/*.md", + "articles/**.md", + "toc.yml", + "*.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "resource": [ + { + "files": [ + "images/**" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "overwrite": [ + { + "files": [ + "apidoc/**.md" + ], + "exclude": [ + "obj/**", + "_site/**" + ] + } + ], + "dest": "_site", + "template": [ + "default" + ] + } +} \ No newline at end of file diff --git a/EgwProxy.Gomba/index.md b/EgwProxy.Gomba/index.md new file mode 100644 index 00000000..4f6c0d81 --- /dev/null +++ b/EgwProxy.Gomba/index.md @@ -0,0 +1,17 @@ +# EgwProxy.Gomba Library + +Documentazione relativa alla libreria di interfaccia via webservice SOAP/XML con le bilance GOMBA (ex IMI Remosa). + +Disponibile in forma di pacchetto nuget sul repo aziendale nexus.steamware.net: i pacchetti sono disponibili all'indirizzo + +https://nexus.steamware.net/#browse/browse:nuget-hosted + +Vedere la sezione Articles per maggiori informazioni sulle definizioni, l'impiego ed esempi. + +## Articles + +Per maggiori dettagli, definizioni e demo funzionamento si rimanda alla sezione Articles + +## Api + +Per ogni dettaglio e riferimento alla libreria si rimanda alla sezione Api Documentation \ No newline at end of file diff --git a/EgwProxy.Gomba/index.pdf b/EgwProxy.Gomba/index.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a89cc4328776a2f2604d70657e281161878e4d0f GIT binary patch literal 30974 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