This commit is contained in:
2021-12-06 11:54:27 +01:00
parent dbe63ae55a
commit 4491b88deb
14 changed files with 902 additions and 221 deletions

View File

@@ -6,8 +6,7 @@
</sectionGroup>
</configSections>
<connectionStrings>
<add name="AVISO.My.MySettings.AVISO_ConnectionString_TEST" connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=sa;Password=BmWr501956;"
providerName="System.Data.SqlClient" />
<add name="AVISO.My.MySettings.AVISO_ConnectionString_TEST" connectionString="Data Source=192.168.0.90\DEVSQL;Initial Catalog=AVISO_new;Integrated Security=false;User ID=sa;Password=BmWr501956;" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
@@ -62,7 +61,11 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.8.5.0" newVersion="1.8.5.0" />
<bindingRedirect oldVersion="0.0.0.0-1.8.2.0" newVersion="1.8.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DocumentFormat.OpenXml" publicKeyToken="8fb06cb64d019a17" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.7.2.0" newVersion="2.7.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>

View File

@@ -113,8 +113,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="ChilkatDotNet47">
<HintPath>..\..\..\dll\HMRC\ChilkatDotNet47.dll</HintPath>
<Reference Include="ChilkatDotNet47, Version=9.5.0.84, Culture=neutral, PublicKeyToken=eb5fc1fc52ef09bd, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\dll\ChillKat64\ChilkatDotNet47.dll</HintPath>
</Reference>
<Reference Include="com.esendex.sdk, Version=3.8.0.0, Culture=neutral, PublicKeyToken=9dceac28a20578e2, processorArchitecture=MSIL">
<HintPath>..\packages\esendex-dotnet-sdk.3.8.0\lib\net35\com.esendex.sdk.dll</HintPath>
@@ -125,9 +126,8 @@
<Reference Include="Common.Logging.Core, Version=3.4.1.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
<HintPath>..\packages\Common.Logging.Core.3.4.1\lib\net40\Common.Logging.Core.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml, Version=2.5.5631.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\DocumentFormat.OpenXml.dll</HintPath>
<Reference Include="DocumentFormat.OpenXml, Version=2.7.2.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.2.7.2\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="GrapeCity.ActiveReports">
<HintPath>C:\Program Files (x86)\GrapeCity\ActiveReports 15\Tools\GrapeCity.ActiveReports.dll</HintPath>
@@ -272,6 +272,14 @@
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.IO.FileSystem.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Packaging, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.4.0.0\lib\net46\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.0\lib\netstandard2.0\System.Memory.dll</HintPath>

View File

@@ -8,6 +8,9 @@ Imports Microsoft.AspNetCore.Http
Imports Microsoft.Extensions.Configuration
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Extensions.Hosting
Imports System.Collections.Specialized
Imports System.Text
Imports System.IO
'Public Class Startup
' Public Sub New(ByVal configuration As IConfiguration)
@@ -70,30 +73,181 @@ Imports Microsoft.Extensions.Hosting
Public Class VATResponse
Public Class Address
Public Property line1 As String
Public Property postcode As String
Public Property countryCode As String
End Class
Public Class Target
Public Property name As String
Public Property vatNumber As String
Public Property address As Address
End Class
Public Class Root
Public Property target As Target
Public Property processingDate As DateTime
End Class
End Class
Public Class cHMRC
Shared API_STRING = "https://test-api.service.hmrc.gov.uk"
'Shared API_STRING As String = "https://api.service.hmrc.gov.uk"
Shared Sub hmrcTEST2()
'Dim rClient As RestClient = New RestClient()
'rClient.endPoint = "https://test-api.service.hmrc.gov.uk/hello/user"
'Dim strResponse As String = String.Empty
'strResponse = rClient.makeRequest(_accessToken)
Dim rest As New Chilkat.Rest
' Connect to the REST server.
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
Dim success As Boolean = rest.Connect("https://test-api.service.hmrc.gov.uk", port, bTls, bAutoReconnect)
'389356931 -> VERAG-UNISPED
'Dim responseJson As String = rest.FullRequestNoBody("GET", "/organisations/vat/check-vat-number/lookup/553557881")
'Dim responseJson As String = rest.FullRequestNoBody("GET", "/organisations/vat/check-vat-number/lookup/553552881") 'falsch
Dim responseJson As String = rest.FullRequestNoBody("GET", "/organisations/vat/check-vat-number/lookup/5535532881") 'falsch
If (rest.LastMethodSuccess <> True) Then
Console.WriteLine(rest.LastErrorText)
Exit Sub
End If
Try
Dim read = Newtonsoft.Json.Linq.JObject.Parse(responseJson)
If read.Item("code") IsNot Nothing Then
Dim VAT_Message = read.Item("message").ToString
Dim VAT_code = read.Item("code").ToString
MsgBox("ERROR: " & VAT_Message, MsgBoxStyle.OkOnly, VAT_code)
Else
' Dim json As String = "{""name"":""Rap God"",""statistics"":{""likeCount"":""122255"",""dislikeCount"":""4472""}}"
Dim VAT_Name = read.Item("target")("name").ToString
Dim VAT_processingDate = read.Item("processingDate").ToString
Dim VAT_Strasse = read.Item("target")("address")("line1").ToString
Dim VAT_PLZ = read.Item("target")("address")("postcode").ToString
Dim VAT_countryCode = read.Item("target")("address")("countryCode").ToString
MsgBox(VAT_Name)
MsgBox(VAT_processingDate)
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Public Class CHMRC
'Console.WriteLine(responseJson)
'Console.WriteLine("----")
'' We can alternatively do this:
'rest.ClearAllQueryParams()
'' rest.AddQueryParam("consumer_key", "YOUR_CONSUMER_KEY")
'' rest.AddQueryParam("consumer_secret", "YOUR_CONSUMER_SECRET")
'responseJson = rest.FullRequestNoBody("GET", "/wp-json/wc/v1/products")
'If (rest.LastMethodSuccess <> True) Then
' Console.WriteLine(rest.LastErrorText)
' Exit Sub
'End If
Console.WriteLine(responseJson)
End Sub
Shared Sub hmrcTEST()
'Dim client As HttpClient = HttpClientBuilder.create().build()
'Dim request As HttpGet = New HttpGet("https://test-api.service.hmrc.gov.uk/hello/world")
'request.addHeader("Accept", "application/vnd.hmrc.1.0+json")
'Dim response As HttpResponse = client.execute(request)
'Dim statusCode As Integer = response.getStatusLine().getStatusCode()
'Dim responseBody As String = EntityUtils.toString(response.getEntity())
UnlockCilkat()
Dim AccessToken = ""
grantAccess(AccessToken, "write:goods-movement-system")
'getHMRC_Token(AccessToken, "write:goods-movement-system")
MsgBox(AccessToken)
If AccessToken <> "" Then
Dim Notification_Box_Id = ""
Dim Notification_Message_Id = ""
If genGVMS_GMR(AccessToken, Notification_Box_Id, Notification_Message_Id) Then
Dim AccessTokenNotTEST = ""
' getHMRC_Token(AccessTokenNotTEST, "read:pull-notifications")
grantAccess(AccessTokenNotTEST, "read:pull-notifications")
If AccessTokenNotTEST <> "" Then
getGVMS_Notifications(AccessTokenNotTEST, Notification_Box_Id)
End If
End If
End If
Exit Sub
'UnlockCilkat()
'Dim AccessTokenNotTEST = ""
'grantAccess(AccessTokenNotTEST, "read:pull-notifications")
'If AccessTokenNotTEST <> "" Then
' getGVMS_Notifications(AccessTokenNotTEST, "877b619c-33c1-4ab6-a34f-8bd7542e0596")
'End If
Exit Sub
'Dim AccessToken = ""
'grantAccess(AccessToken, "write:goods-movement-system")
'If AccessToken <> "" Then
' Dim Notification_Box_Id = ""
' Dim Notification_Message_Id = ""
' genGVMS_GMR(AccessToken, Notification_Box_Id, Notification_Message_Id)
' Dim AccessTokenNot = ""
' grantAccess(AccessTokenNot, "read:pull-notifications")
' If AccessTokenNot <> "" Then
' getGVMS_Notifications(AccessTokenNot, Notification_Box_Id)
' End If
'End If
Exit Sub
getGVMS_RefData()
Exit Sub
Exit Sub
'genGVMS_GMR("TEST")
'Exit Sub
'Dim AccessToken = ""
'grantAccess(AccessToken)
'If AccessToken <> "" Then
' genGVMS_GMR(AccessToken)
'End If
End Sub
Shared Sub grantAccess(ByRef AccessToken, scope)
UnlockCilkat()
Debug.WriteLine("HMRC Start")
Dim oauth2 As Chilkat.OAuth2 = New Chilkat.OAuth2()
Dim success As Boolean
oauth2.ListenPort = 3017
oauth2.AuthorizationEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/authorize"
oauth2.TokenEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/token"
'oauth2.AuthorizationEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/authorize"
'oauth2.TokenEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/token"
oauth2.AuthorizationEndpoint = API_STRING & "/oauth/authorize"
oauth2.TokenEndpoint = API_STRING & "/oauth/token"
oauth2.ClientId = "xybTOMaQWcuifeW5xnGggojlACWC"
oauth2.ClientSecret = "bf1cfb6e-1bcb-4282-b7a0-3d3ccb2b1dc1"
oauth2.Scope = "read:vat write:vat"
'oauth2.Scope = "read:vat write:vat" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
oauth2.Scope = scope '"write:goods-movement-system"
Dim url As String = oauth2.StartAuth()
If oauth2.LastMethodSuccess <> True Then
@@ -103,106 +257,156 @@ Public Class CHMRC
Dim http As Chilkat.Http = New Chilkat.Http()
System.Diagnostics.Process.Start(url)
' System.Diagnostics.Process.Start(url)
Dim f As New Form
f.Size = New Size(800, 1400)
Dim wb As New WebBrowser
f.Controls.Add(wb)
f.StartPosition = FormStartPosition.CenterScreen
wb.Dock = DockStyle.Fill
wb.Navigate(url)
Dim done = False
Dim numMsWaited As Integer = 0
'AddHandler wb.DocumentCompleted, Sub()
' If Not done Then
' If wb.Url.AbsolutePath = "/api-test-login/sign-in" Then
' Try
' Dim txtInput As HtmlElement = wb.Document.Forms(0).GetElementsByTagName("input").GetElementsByName("userId")(0)
' txtInput.InnerText = "224015321897"
' Dim txtInputPwd As HtmlElement = wb.Document.Forms(0).GetElementsByTagName("input").GetElementsByName("password")(0)
' txtInputPwd.InnerText = "ry1cspz0nsvj"
' done = True
' Catch
' End Try
' End If
' End If
' MsgBox(wb.Url.AbsolutePath)
' End Sub
If f.ShowDialog() Then
While (numMsWaited < 120000) AndAlso (oauth2.AuthFlowState < 3)
oauth2.SleepMs(100)
numMsWaited = numMsWaited + 100
End While
' If there was no response from the browser within 30 seconds, then
' the AuthFlowState will be equal to 1 Or 2.
' 1: Waiting for Redirect. The OAuth2 background thread Is waiting to receive the redirect HTTP request from the browser.
' 2: Waiting for Final Response. The OAuth2 background thread Is waiting for the final access token response.
' In that case, cancel the background task started in the call to StartAuth.
If oauth2.AuthFlowState < 3 Then
oauth2.Cancel()
Debug.WriteLine("No response from the browser!")
Exit Sub
Dim numMsWaited As Integer = 0
'While (numMsWaited < 120000) AndAlso (oauth2.AuthFlowState < 3)
' oauth2.SleepMs(100)
' numMsWaited = numMsWaited + 100
'End While
' If there was no response from the browser within 30 seconds, then
' the AuthFlowState will be equal to 1 Or 2.
' 1: Waiting for Redirect. The OAuth2 background thread Is waiting to receive the redirect HTTP request from the browser.
' 2: Waiting for Final Response. The OAuth2 background thread Is waiting for the final access token response.
' In that case, cancel the background task started in the call to StartAuth.
If oauth2.AuthFlowState < 3 Then
oauth2.Cancel()
Debug.WriteLine("No response from the browser!")
Exit Sub
End If
Debug.WriteLine("HMRC here")
' Check the AuthFlowState to see if authorization was granted, denied, Or if some error occurred
' The possible AuthFlowState values are:
' 3 Completed with Success. The OAuth2 flow has completed, the background thread exited, And the successful JSON response Is available in AccessTokenResponse property.
' 4: Completed with Access Denied. The OAuth2 flow has completed, the background thread exited, And the error JSON Is available in AccessTokenResponse property.
' 5: Failed Prior To Completion. The OAuth2 flow failed To complete, the background thread exited, And the error information Is available in the FailureInfo property.
If oauth2.AuthFlowState = 5 Then
Debug.WriteLine("OAuth2 failed to complete.")
Debug.WriteLine(oauth2.FailureInfo)
Exit Sub
End If
If oauth2.AuthFlowState = 4 Then
Debug.WriteLine("OAuth2 authorization was denied.")
Debug.WriteLine(oauth2.AccessTokenResponse)
Exit Sub
End If
If oauth2.AuthFlowState <> 3 Then
Debug.WriteLine("Unexpected AuthFlowState:" & Convert.ToString(oauth2.AuthFlowState))
Exit Sub
End If
MsgBox("OAuth2 authorization granted!")
Debug.WriteLine("OAuth2 authorization granted!")
Debug.WriteLine("Access Token = " & oauth2.AccessToken)
Dim json As Chilkat.JsonObject = New Chilkat.JsonObject()
json.Load(oauth2.AccessTokenResponse)
json.EmitCompact = False
Debug.WriteLine(json.Emit())
MsgBox(json.Emit())
' The JSON response looks Like this
' {
' "token_type": "Bearer",
' "scope": "user_impersonation",
' "expires_in": "3599",
' "ext_expires_in": "0",
' "expires_on": "1524783438",
' "not_before": "1524779538",
' "resource": "https://mydomain.api.crm.dynamics.com",
' "access_token": "...",
' "refresh_token": "...",
' "id_token": "..."
' }
' If an "expires_on" member does Not exist, then add the JSON member by
' getting the current system date/time And adding the "expires_in" seconds.
' This way we'll know when the token expires.
If json.HasMember("expires_on") <> True Then
Dim dtExpire As Chilkat.CkDateTime = New Chilkat.CkDateTime()
dtExpire.SetFromCurrentSystemTime()
dtExpire.AddSeconds(json.IntOf("expires_in"))
json.AppendString("expires_on", dtExpire.GetAsUnixTimeStr(False))
End If
Debug.WriteLine(json.Emit())
Dim fac As Chilkat.FileAccess = New Chilkat.FileAccess()
'fac.WriteEntireTextFile("qa_data/tokens/hmrc.json", json.Emit(), "utf-8", False)
fac.WriteEntireTextFile("C:\Users\DEVELOPER1\Desktop\hmrc.json", json.Emit(), "utf-8", False)
AccessToken = oauth2.AccessToken
End If
End Sub
Private Shared Sub UnlockCilkat()
Dim glob As Chilkat.[Global] = New Chilkat.[Global]()
Dim success As Boolean = glob.UnlockBundle("VERAGS.CB1122022_JJ6kgS2zoR0g")
If success <> True Then
Debug.WriteLine(glob.LastErrorText)
Return
End If
Debug.WriteLine("HMRC here")
Dim status As Integer = glob.UnlockStatus
' Check the AuthFlowState to see if authorization was granted, denied, Or if some error occurred
' The possible AuthFlowState values are:
' 3 Completed with Success. The OAuth2 flow has completed, the background thread exited, And the successful JSON response Is available in AccessTokenResponse property.
' 4: Completed with Access Denied. The OAuth2 flow has completed, the background thread exited, And the error JSON Is available in AccessTokenResponse property.
' 5: Failed Prior To Completion. The OAuth2 flow failed To complete, the background thread exited, And the error information Is available in the FailureInfo property.
If oauth2.AuthFlowState = 5 Then
Debug.WriteLine("OAuth2 failed to complete.")
Debug.WriteLine(oauth2.FailureInfo)
Exit Sub
If status = 2 Then
Debug.WriteLine("Unlocked using purchased unlock code.")
Else
Debug.WriteLine("Unlocked in trial mode.")
End If
If oauth2.AuthFlowState = 4 Then
Debug.WriteLine("OAuth2 authorization was denied.")
Debug.WriteLine(oauth2.AccessTokenResponse)
Exit Sub
End If
If oauth2.AuthFlowState <> 3 Then
Debug.WriteLine("Unexpected AuthFlowState:" & Convert.ToString(oauth2.AuthFlowState))
Exit Sub
End If
Debug.WriteLine("OAuth2 authorization granted!")
Debug.WriteLine("Access Token = " & oauth2.AccessToken)
Dim json As Chilkat.JsonObject = New Chilkat.JsonObject()
json.Load(oauth2.AccessTokenResponse)
json.EmitCompact = False
Debug.WriteLine(json.Emit())
' The JSON response looks Like this
' {
' "token_type": "Bearer",
' "scope": "user_impersonation",
' "expires_in": "3599",
' "ext_expires_in": "0",
' "expires_on": "1524783438",
' "not_before": "1524779538",
' "resource": "https://mydomain.api.crm.dynamics.com",
' "access_token": "...",
' "refresh_token": "...",
' "id_token": "..."
' }
' If an "expires_on" member does Not exist, then add the JSON member by
' getting the current system date/time And adding the "expires_in" seconds.
' This way we'll know when the token expires.
If json.HasMember("expires_on") <> True Then
Dim dtExpire As Chilkat.CkDateTime = New Chilkat.CkDateTime()
dtExpire.SetFromCurrentSystemTime()
dtExpire.AddSeconds(json.IntOf("expires_in"))
json.AppendString("expires_on", dtExpire.GetAsUnixTimeStr(False))
End If
Debug.WriteLine(json.Emit())
Dim fac As Chilkat.FileAccess = New Chilkat.FileAccess()
'fac.WriteEntireTextFile("qa_data/tokens/hmrc.json", json.Emit(), "utf-8", False)
fac.WriteEntireTextFile("C:\Users\DEVELOPER1\Desktop\hmrc.json", json.Emit(), "utf-8", False)
Debug.WriteLine(glob.LastErrorText)
End Sub
Shared Sub VATTEST(hmrc_app_server_token)
Dim rest As New Chilkat.Rest
Dim success As Boolean
' URL: https://test-api.service.hmrc.gov.uk/organisations/vat/123456789/returns
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("test-api.service.hmrc.gov.uk", port, bTls, bAutoReconnect)
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
@@ -224,6 +428,7 @@ Public Class CHMRC
json.UpdateNumber("totalAcquisitionsExVAT", "500")
json.UpdateBool("finalised", True)
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", "Bearer " & hmrc_app_server_token)
rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
@@ -249,4 +454,392 @@ Public Class CHMRC
End Sub
Shared Sub getGVMS_RefData()
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
Dim json As New Chilkat.JsonObject
'rest.AddHeader("Content-Type", "application/json")
'rest.AddHeader("Authorization", "Bearer " & hmrc_app_server_token)
rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
MsgBox("BODY: " & sbRequestBody.ToString)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("GET", "/customs/goods-movement-system/reference-data", sbRequestBody, sbResponseBody)
MsgBox("1")
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
MsgBox(rest.LastErrorText)
Exit Sub
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
MsgBox("NO:" & respStatusCode)
If (respStatusCode >= 200) Then
MsgBox(sbResponseBody.GetAsString())
IO.File.WriteAllText("C:\Users\DEVELOPER1\Desktop\hmrc4.json", sbResponseBody.GetAsString())
Debug.WriteLine("Response Status Code = " & respStatusCode)
Debug.WriteLine("Response Header:")
Debug.WriteLine(rest.ResponseHeader)
Debug.WriteLine("Response Body:")
Debug.WriteLine(sbResponseBody.GetAsString())
MsgBox("Response Body:")
MsgBox(sbResponseBody.GetAsString())
Exit Sub
End If
End Sub
Shared Function genGVMS_GMR(hmrc_app_server_token As String, Notification_Box_Id As String, Notification_Message_Id As String) As Boolean
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
MsgBox(rest.LastErrorText)
Return False
End If
'"UK_INBOUND",
' "UK_OUTBOUND",
' "GB_TO_NI",
' "NI_TO_GB"
' See the Online Tool for Generating JSON Creation Code
Dim json As New Chilkat.JsonObject
json.UpdateString("direction", "UK_INBOUND")
json.UpdateBool("isUnaccompanied", False)
json.UpdateString("vehicleRegNum", "SD123TEST") 'LKW
Dim array As New Chilkat.JsonObject
' json.UpdateNewArray(array) 'Empty array
json.UpdateString("plannedCrossing.routeId", "20") '--> Calais - Dover - DFDS
json.UpdateString("plannedCrossing.localDateTimeOfDeparture", "2021-08-11T10:58")
Dim cnt = 0
json.UpdateString("customsDeclarations[" & cnt & "].customsDeclarationId", "0GB689223596000-SE119404")
json.UpdateString("customsDeclarations[" & cnt & "].sAndSMasterRefNum", "20GB01I0XLM976S001")
cnt = 0
'json.UpdateString("transitDeclarations[" & cnt & "].transitDeclarationId", "10GB00002910B75BE5")
''json.UpdateString("transitDeclarations[" & cnt & "].sAndSMasterRefNum", "20GB01I0XLM976S004")
'json.UpdateBool("transitDeclarations[" & cnt & "].isTSAD", True)
'Dim o As New Chilkat.JsonObject
' json.UpdateNewObject("vehicleRegNum", o) '"SD 123TEST") 'LKW
'plannedCrossing
'json.UpdateNumber("vatDueSales", "100.00")
'json.UpdateNumber("vatDueAcquisitions", "100.00")
'json.UpdateNumber("totalVatDue", "200")
'json.UpdateNumber("vatReclaimedCurrPeriod", "100.00")
'json.UpdateNumber("netVatDue", "100")
'json.UpdateNumber("totalValueSalesExVAT", "500")
'json.UpdateNumber("totalValuePurchasesExVAT", "500")
'json.UpdateNumber("totalValueGoodsSuppliedExVAT", "500")
'json.UpdateNumber("totalAcquisitionsExVAT", "500")
'json.UpdateBool("finalised", True)
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", "Bearer " & hmrc_app_server_token)
rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
' MsgBox(sbRequestBody.ToString)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST", "/customs/goods-movement-system/movements", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return False
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
'MsgBox(respStatusCode)
If (respStatusCode >= 200) Then
' MsgBox(sbResponseBody.GetAsString())
'Dim res = Chilkat.HttpResponse()
'res.GetHeaderField
'rest.ResponseHeader.
' "Notification_Box_Id"
IO.File.WriteAllText("C:\Users\DEVELOPER1\Desktop\hmrc5.json", rest.ResponseHeader.ToString())
' MsgBox(rest.ResponseHeader.ToString())
' MsgBox(sbResponseBody.GetAsString())
For Each rh In rest.ResponseHeader.Split(vbNewLine)
If (rh.Contains("Notification-Box-Id: ")) Then
Notification_Box_Id = rh.Replace("Notification-Box-Id: ", "")
MsgBox(Notification_Box_Id)
End If
If (rh.Contains("Notification-Message-Id: ")) Then
Notification_Message_Id = rh.Replace("Notification-Message-Id: ", "")
MsgBox(Notification_Message_Id)
End If
Next
Debug.WriteLine("Response Status Code = " & respStatusCode)
Debug.WriteLine("Response Header:")
Debug.WriteLine(rest.ResponseHeader)
Debug.WriteLine("Response Body:")
Debug.WriteLine(sbResponseBody.GetAsString())
Return True
End If
Return False
End Function
Shared Sub getGVMS_Notifications(hmrc_app_server_token As String, Notification_Box_Id As String)
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
'"UK_INBOUND",
' "UK_OUTBOUND",
' "GB_TO_NI",
' "NI_TO_GB"
' See the Online Tool for Generating JSON Creation Code
Dim json As New Chilkat.JsonObject
' json.UpdateString("boxId", Notification_Box_Id)
json.UpdateString("status", "PENDING")
json.UpdateString("fromDate", "2020-06-03T14:20:54.987")
json.UpdateString("toDate", "2020-06-03T14:20:54.987")
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", "Bearer " & hmrc_app_server_token)
rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
MsgBox(sbRequestBody.ToString)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("GET", "/misc/push-pull-notification/box/" & Notification_Box_Id & "/notifications", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
MsgBox(respStatusCode)
If (respStatusCode >= 200) Then
IO.File.WriteAllText("C:\Users\DEVELOPER1\Desktop\hmrc3.json", rest.ResponseHeader.ToString())
MsgBox(rest.ResponseHeader.ToString())
MsgBox(sbResponseBody.GetAsString())
Debug.WriteLine("Response Status Code = " & respStatusCode)
Debug.WriteLine("Response Header:")
Debug.WriteLine(rest.ResponseHeader)
Debug.WriteLine("Response Body:")
Debug.WriteLine(sbResponseBody.GetAsString())
Exit Sub
End If
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''
'Shared Sub testToken2()
' Dim refresh_token As String
' Dim token As String
' ' construct the request for access token
' Dim client = New RestClient(API_STRING & "/oauth/token")
' Dim request = New RestRequest("dfe/application-info", Method.POST)
' request.AddHeader("content-type", "application/x-www-form-urlencoded")
' request.AddParameter("grant_type", "client_credentials")
' request.AddParameter("client_id", "<Paste-your-client-id-here>")
' request.AddParameter("client_secret", "<Paste-your-client-secret-here>")
' ' make call to get token
' Dim response As IRestResponse = client.Execute(request)
' ' Extract token
' token = JObject.Parse(response.Content).SelectToken("$..access_token").ToString()
' refresh_token = JObject.Parse(response.Content).SelectToken("$..refresh_token").ToString()
'End Sub
Shared Sub getHMRC_Token(ByRef AccessToken, scope)
'oauth2.ListenPort = 3017
''oauth2.AuthorizationEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/authorize"
''oauth2.TokenEndpoint = "https://test-api.service.hmrc.gov.uk/oauth/token"
'oauth2.AuthorizationEndpoint = API_STRING & "/oauth/authorize"
'oauth2.TokenEndpoint = API_STRING & "/oauth/token"
'oauth2.ClientId = "xybTOMaQWcuifeW5xnGggojlACWC"
'oauth2.ClientSecret = "bf1cfb6e-1bcb-4282-b7a0-3d3ccb2b1dc1"
''oauth2.Scope = "read:vat write:vat" !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
'oauth2.Scope = scope '"write:goods-movement-system"
'Dim url As String = oauth2.StartAuth()
' Refer to the documentation for more information on how to get the client id/secret
Dim clientId As String = "xybTOMaQWcuifeW5xnGggojlACWC"
Dim clientSecret As String = "bf1cfb6e-1bcb-4282-b7a0-3d3ccb2b1dc1"
' Refer to the documentation for more information on how to get the tokens
'Dim accessToken As String = "" '"OaOXXXXTaSucp8XXcgXXH"
' Dim refreshToken As String = "kE4HXXXXXXXhxvtUHlboSF"
' -- Refresh the access token
Dim request As System.Net.WebRequest = System.Net.HttpWebRequest.Create(API_STRING & "/oauth/token")
'oauth2.AuthorizationEndpoint = API_STRING & "/oauth/authorize"
' oauth2.TokenEndpoint = API_STRING & "/oauth/token"
request.Method = "POST"
request.ContentType = "application/x-www-form-urlencoded"
'request.ContentType = "application/json"
Dim outgoingQueryString As NameValueCollection = HttpUtility.ParseQueryString(String.Empty)
outgoingQueryString.Add("grant_type", "client_credentials")
' outgoingQueryString.Add("refresh_token", refreshToken)
outgoingQueryString.Add("client_id", clientId)
outgoingQueryString.Add("client_secret", clientSecret)
outgoingQueryString.Add("scope", scope) '"write:goods-movement-system")
Dim postBytes As Byte() = New ASCIIEncoding().GetBytes(outgoingQueryString.ToString())
Dim postStream As Stream = request.GetRequestStream()
postStream.Write(postBytes, 0, postBytes.Length)
postStream.Flush()
postStream.Close()
Try
Using response As System.Net.WebResponse = request.GetResponse()
Using streamReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
' Parse the JSON the way you prefer
Dim jsonResult As RefreshTokenResultJSON = New System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(streamReader.ReadToEnd(), GetType(RefreshTokenResultJSON))
AccessToken = jsonResult.access_token
' For more information, refer to the documentation
End Using
End Using
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
'' -- Get current user profile
'request = System.Net.HttpWebRequest.Create("https://api.clicdata.com/profile/user")
'request.Method = "GET"
'request.Headers.Add("Authorization", "Bearer " & accessToken)
'Using response As System.Net.WebResponse = request.GetResponse()
' Using streamReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
' Dim jsonResponseText = streamReader.ReadToEnd()
' ' Parse the JSON the way you prefer
' ' In this example the JSON will be something Like:
' ' {"email_address" "john.smith@clicdata.com", "first_name": "John", "last_login_date": "20160426T14:24:58+00:00", "last_name": "Smith", ...
' ' For more information, refer to the documentation
' End Using
'End Using
'' -- List the current data
'request = System.Net.HttpWebRequest.Create("https://api.clicdata.com/data/")
'request.Method = "GET"
'request.Headers.Add("Authorization", "Bearer " & accessToken)
'Using response As System.Net.WebResponse = request.GetResponse()
' Using streamReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
' Dim jsonResponseText = streamReader.ReadToEnd()
' ' Parse the JSON the way you prefer
' ' In this example the JSON will be something Like:
' ' { "count" 265, "data": [{ "description": "","source": "merge", "creation_date": "20150610T12:47:32+02:00", "last_data_update_date": "20150610T12:47:49+02:00", ...
' ' For more information, refer to the documentation
' End Using
'End Using
'' -- Create some new data
'Dim dataId As Integer = 0
'request = System.Net.HttpWebRequest.Create("https://api.clicdata.com/data/")
'request.Method = "POST"
'request.ContentType = "application/json"
'request.Headers.Add("Authorization", "Bearer " & accessToken)
'Using tStreamWriter As System.IO.StreamWriter = New System.IO.StreamWriter(request.GetRequestStream())
' tStreamWriter.Write(New System.Web.Script.Serialization.JavaScriptSerializer().Serialize(New With {Key .name = "my test data " & Guid.NewGuid().ToString(), Key .description = "some description for my test data", Key .columns = {New With {Key .name = "column 1", Key .data_type = "text"}, New With {Key .name = "column 2", Key .data_type = "number"}}}))
'End Using
'Using response As System.Net.WebResponse = request.GetResponse()
' Using streamReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
' Dim jsonResponseText = streamReader.ReadToEnd()
' ' The JSON returned in this example is the ID of our newly created data
' dataId = Integer.Parse(jsonResponseText)
' ' For more information, refer to the documentation
' End Using
'End Using
'' -- Add a few rows of data
'request = System.Net.HttpWebRequest.Create("https://api.clicdata.com/data/" & dataId & "/rows")
'request.Method = "POST"
'request.ContentType = "application/json"
'request.Headers.Add("Authorization", "Bearer " & accessToken)
'Using tStreamWriter As System.IO.StreamWriter = New System.IO.StreamWriter(request.GetRequestStream())
' tStreamWriter.Write(New System.Web.Script.Serialization.JavaScriptSerializer().Serialize(New With {Key .data = New Object() {New Object() {"one", 1}, New Object() {"two", 2}}}))
'End Using
'Using response As System.Net.WebResponse = request.GetResponse()
' Using streamReader As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
' Dim jsonResponseText = streamReader.ReadToEnd()
' ' The JSON returned in this example tells us if the rows were inserted successfully:
' ' { "success" true }
' ' For more information, refer to the documentation
' End Using
'End Using
End Sub
Public Class RefreshTokenResultJSON
Public Property access_token As String
End Class
End Class

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("3.7.1.5")>
<Assembly: AssemblyFileVersion("3.7.1.5")>
<Assembly: AssemblyVersion("3.7.1.7")>
<Assembly: AssemblyFileVersion("3.7.1.7")>

View File

@@ -669,6 +669,15 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die ähnelt.
'''</summary>
Friend ReadOnly Property gfh2fgh1fg2hfghfgh() As String
Get
Return ResourceManager.GetString("gfh2fgh1fg2hfghfgh", resourceCulture)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@@ -1179,15 +1188,6 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die ähnelt.
'''</summary>
Friend ReadOnly Property sdf8sdfsidfsd8fsdjmkfsdfsdf() As String
Get
Return ResourceManager.GetString("sdf8sdfsidfsd8fsdjmkfsdfsdf", resourceCulture)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
@@ -1548,7 +1548,7 @@ Namespace My.Resources
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die 3.7.1.5 ähnelt.
''' Sucht eine lokalisierte Zeichenfolge, die 3.7.1.7 ähnelt.
'''</summary>
Friend ReadOnly Property Version() As String
Get

View File

@@ -536,7 +536,7 @@
<value>..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Version" xml:space="preserve">
<value>3.7.1.5</value>
<value>3.7.1.7</value>
</data>
<data name="statusBtn_vorgeschrieben_Aktiv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\statusBtn_vorgeschrieben_Aktiv.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -619,7 +619,7 @@
<data name="FO" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>F:\Grafik\VERAG\VERAG_Akten\eigAkt\FO.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sdf8sdfsidfsd8fsdjmkfsdfsdf" xml:space="preserve">
<data name="gfh2fgh1fg2hfghfgh" xml:space="preserve">
<value />
</data>
</root>

View File

@@ -113,7 +113,8 @@ Public Class frmEintragAviso
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
ATILLA_NEUERAKTENDECKEL = True
End If
initDrucker()
'initDrucker()
SDL.cProgramFunctions.initDrucker(cboPrinter)
If StartFromOUTLOOK Then
optSchriftlich.Checked = True
@@ -1258,32 +1259,32 @@ Public Class frmEintragAviso
End Sub
Sub initDrucker()
' alle installierten Drucker ermitteln und
' in in ein ArrayList-Objekt speichern
Dim sPrinters As New ArrayList
For Each sPrinter As String In PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
'Sub initDrucker()
' ' alle installierten Drucker ermitteln und
' ' in in ein ArrayList-Objekt speichern
' Dim sPrinters As New ArrayList
' For Each sPrinter As String In PrinterSettings.InstalledPrinters
' sPrinters.Add(sPrinter)
' Next
' Array sortieren
sPrinters.Sort()
' ' Array sortieren
' sPrinters.Sort()
' printer()
' ' printer()
' jetzt alle Drucker in sortierter Reihenfolge in einer
' ComboBox zur Auswahl anbieten
Dim oPS As New System.Drawing.Printing.PrinterSettings
Dim pList As List(Of PrinterList) = PROG.getPrinterList
For i As Integer = 0 To sPrinters.Count - 1
If PROG.isPrinterOnlineByList(pList, sPrinters(i)) Then
setCboEntry(sPrinters(i)) ' cboPrinter.Items.Add(sPrinters(i))
End If
Next
' ' jetzt alle Drucker in sortierter Reihenfolge in einer
' ' ComboBox zur Auswahl anbieten
' Dim oPS As New System.Drawing.Printing.PrinterSettings
' Dim pList As List(Of PrinterList) = PROG.getPrinterList
' For i As Integer = 0 To sPrinters.Count - 1
' If PROG.isPrinterOnlineByList(pList, sPrinters(i)) Then
' setCboEntry(sPrinters(i)) ' cboPrinter.Items.Add(sPrinters(i))
' End If
' Next
setCboSelected(oPS.PrinterName)
' setCboSelected(oPS.PrinterName)
End Sub
'End Sub
'threadsicherer Aufruf

View File

@@ -2565,6 +2565,9 @@ Public Class frmHauptfenster
End Function
Private Sub Button3_Click_1(sender As Object, e As EventArgs) Handles Button3.Click
cHMRC.hmrcTEST()
Exit Sub
Dim list = VERAG_PROG_ALLGEMEIN.cRechnungsausgang.GET_LIST_WEB(717858, CDate("01.10.2021"), CDate("31.10.2021")) '{5})
@@ -2581,9 +2584,6 @@ Public Class frmHauptfenster
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailTo, betreff, htmlBody, , False, False)
Exit Sub
Exit Sub
CHMRC.hmrcTEST()
Exit Sub
Dim ep As New SDL.cEORIWebService
MsgBox(ep.ValidateEoriNumber("ATEOS1000000199").Result(0).Name)
@@ -2634,6 +2634,10 @@ Public Class frmHauptfenster
Dim resultJson = FromClass(SH)
MsgBox(resultJson)
Exit Sub
Dim jsonPost As New VERAG_PROG_ALLGEMEIN.cJsonPost("https://api.verag.ag/api/V001/CustomsDeclaration?value=test123")

View File

@@ -41,15 +41,16 @@ Partial Class frmLaufzettel
Me.DocId = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.btnLaufzettelDrucken = New System.Windows.Forms.Button()
Me.MyPanel1 = New VERAG_PROG_ALLGEMEIN.MyPanel(Me.components)
Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cbxVPSplit = New System.Windows.Forms.CheckBox()
Me.pnlZumZoll = New System.Windows.Forms.Panel()
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.btnDIGITAL = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.pnl = New System.Windows.Forms.Panel()
Me.btn = New System.Windows.Forms.Button()
Me.Button2 = New System.Windows.Forms.Button()
Me.cboPrinter = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.Button4 = New System.Windows.Forms.Button()
CType(Me.dgvLaufzettelDruck, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.dgvDigitalMailanfügen, System.ComponentModel.ISupportInitialize).BeginInit()
Me.MyPanel1.SuspendLayout()
@@ -232,6 +233,7 @@ Partial Class frmLaufzettel
'MyPanel1
'
Me.MyPanel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.MyPanel1.Controls.Add(Me.Button4)
Me.MyPanel1.Controls.Add(Me.cboPrinter)
Me.MyPanel1.Controls.Add(Me.cbxVPSplit)
Me.MyPanel1.Controls.Add(Me.pnlZumZoll)
@@ -249,6 +251,19 @@ Partial Class frmLaufzettel
Me.MyPanel1.Size = New System.Drawing.Size(564, 571)
Me.MyPanel1.TabIndex = 9
'
'cboPrinter
'
Me.cboPrinter._allowedValuesFreiText = Nothing
Me.cboPrinter._allowFreiText = False
Me.cboPrinter._value = ""
Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboPrinter.DropDownWidth = 300
Me.cboPrinter.FormattingEnabled = True
Me.cboPrinter.Location = New System.Drawing.Point(18, 495)
Me.cboPrinter.Name = "cboPrinter"
Me.cboPrinter.Size = New System.Drawing.Size(260, 21)
Me.cboPrinter.TabIndex = 23
'
'cbxVPSplit
'
Me.cbxVPSplit.AutoSize = True
@@ -273,6 +288,16 @@ Partial Class frmLaufzettel
Me.pnlZumZoll.Size = New System.Drawing.Size(562, 49)
Me.pnlZumZoll.TabIndex = 12
'
'Button2
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Location = New System.Drawing.Point(468, 8)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(83, 36)
Me.Button2.TabIndex = 13
Me.Button2.Text = "nur z.Zoll drucken"
Me.Button2.UseVisualStyleBackColor = True
'
'Button3
'
Me.Button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat
@@ -305,7 +330,7 @@ Partial Class frmLaufzettel
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Location = New System.Drawing.Point(18, 363)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(260, 36)
Me.Button1.Size = New System.Drawing.Size(188, 36)
Me.Button1.TabIndex = 9
Me.Button1.Text = "Laufzettel anzeigen"
Me.Button1.UseVisualStyleBackColor = True
@@ -337,28 +362,15 @@ Partial Class frmLaufzettel
Me.btn.Text = "X"
Me.btn.UseVisualStyleBackColor = False
'
'Button2
'Button4
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Location = New System.Drawing.Point(468, 8)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(83, 36)
Me.Button2.TabIndex = 13
Me.Button2.Text = "nur z.Zoll drucken"
Me.Button2.UseVisualStyleBackColor = True
'
'cboPrinter
'
Me.cboPrinter._allowedValuesFreiText = Nothing
Me.cboPrinter._allowFreiText = False
Me.cboPrinter._value = ""
Me.cboPrinter.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cboPrinter.DropDownWidth = 300
Me.cboPrinter.FormattingEnabled = True
Me.cboPrinter.Location = New System.Drawing.Point(18, 495)
Me.cboPrinter.Name = "cboPrinter"
Me.cboPrinter.Size = New System.Drawing.Size(260, 21)
Me.cboPrinter.TabIndex = 23
Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button4.Location = New System.Drawing.Point(205, 363)
Me.Button4.Name = "Button4"
Me.Button4.Size = New System.Drawing.Size(73, 36)
Me.Button4.TabIndex = 24
Me.Button4.Text = "Kopieren"
Me.Button4.UseVisualStyleBackColor = True
'
'frmLaufzettel
'
@@ -411,4 +423,5 @@ Partial Class frmLaufzettel
Friend WithEvents printTyp As DataGridViewTextBoxColumn
Friend WithEvents Button2 As Button
Friend WithEvents cboPrinter As VERAG_PROG_ALLGEMEIN.MyComboBox
Friend WithEvents Button4 As Button
End Class

View File

@@ -48,44 +48,44 @@ Public Class frmLaufzettel
Me.jeVP = jeVP
End Sub
Public Shared Sub initDrucker(cboPrinter As ComboBox, Optional srch As String = "")
' alle installierten Drucker ermitteln und
' in in ein ArrayList-Objekt speichern
Dim sPrinters As New ArrayList
For Each sPrinter As String In PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
'Public Shared Sub initDrucker(cboPrinter As ComboBox, Optional srch As String = "")
' ' alle installierten Drucker ermitteln und
' ' in in ein ArrayList-Objekt speichern
' Dim sPrinters As New ArrayList
' For Each sPrinter As String In PrinterSettings.InstalledPrinters
' sPrinters.Add(sPrinter)
' Next
' Array sortieren
sPrinters.Sort()
' ' Array sortieren
' sPrinters.Sort()
' jetzt alle Drucker in sortierter Reihenfolge in einer
' ComboBox zur Auswahl anbieten
Dim oPS As New System.Drawing.Printing.PrinterSettings
For i As Integer = 0 To sPrinters.Count - 1
cboPrinter.Items.Add(sPrinters(i))
Next
' ' jetzt alle Drucker in sortierter Reihenfolge in einer
' ' ComboBox zur Auswahl anbieten
' Dim oPS As New System.Drawing.Printing.PrinterSettings
' For i As Integer = 0 To sPrinters.Count - 1
' cboPrinter.Items.Add(sPrinters(i))
' Next
If sPrinters.Count > 0 Then
cboPrinter.SelectedIndex = 0
If srch <> "" Then
For Each i In cboPrinter.Items
If i.ToString.ToUpper.Contains(srch.ToUpper) Then
cboPrinter.SelectedItem = i
Exit Sub
End If
Next
Else
For Each i In cboPrinter.Items
If i.ToString = oPS.PrinterName Then
cboPrinter.SelectedItem = i
Exit Sub
End If
Next
End If
End If
End Sub
' If sPrinters.Count > 0 Then
' cboPrinter.SelectedIndex = 0
' If srch <> "" Then
' For Each i In cboPrinter.Items
' If i.ToString.ToUpper.Contains(srch.ToUpper) Then
' cboPrinter.SelectedItem = i
' Exit Sub
' End If
' Next
' Else
' For Each i In cboPrinter.Items
' If i.ToString = oPS.PrinterName Then
' cboPrinter.SelectedItem = i
' Exit Sub
' End If
' Next
' End If
' End If
'End Sub
Sub initLZ()
@@ -150,7 +150,7 @@ Public Class frmLaufzettel
End Sub
Private Sub frmLaufzettel_Load(sender As Object, e As EventArgs) Handles Me.Load
initDrucker(cboPrinter)
SDL.cProgramFunctions.initDrucker(cboPrinter)
If DIGITAL Then
cbxDigitalLZ.Enabled = True
@@ -537,4 +537,26 @@ Public Class frmLaufzettel
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
printzZAnlagen()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Me.Cursor = Cursors.WaitCursor
Try
AVISO.LOAD_Vorpapiere()
Dim VP_Enum = VERAG_PROG_ALLGEMEIN.cSendungen.VP_Enum(SENDUNG_LIST) 'Filtert nach eindeutigen Vorpapieren
Dim paths As New List(Of String)
If Not genLZ(paths, False, VP_Enum) Then
Exit Sub
End If
Clipboard.Clear()
Dim d As New DataObject(DataFormats.FileDrop, paths.ToArray)
Clipboard.SetDataObject(d, True)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, )
End Try
Me.Cursor = Cursors.Default
End Sub
End Class

View File

@@ -248,6 +248,21 @@ Public Class frmLogin
End If
End If
Dim AVISO_OPTIONSDatei As String = "C:\AVISO_OPTIONS.txt"
If File.Exists(AVISO_OPTIONSDatei) Then
Dim l = IO.File.ReadAllLines(AVISO_OPTIONSDatei, System.Text.Encoding.Default)
If l.Count > 0 Then
For Each li In l
If li.StartsWith("BON:") Then
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON = (li.Replace("BON:", "")).Trim
End If
If li.StartsWith("PRINTER:") Then
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD = (li.Replace("PRINTER:", "")).Trim
End If
Next
End If
End If
''hier erfolgt die Anmelde-Prüfung

View File

@@ -1726,10 +1726,17 @@ Public Class frmSendungsdetailsNEU
' alle installierten Drucker ermitteln und
' in in ein ArrayList-Objekt speichern
Dim sPrinters As New ArrayList
For Each sPrinter As String In PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
Dim sPrinters As ArrayList
If VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST IsNot Nothing Then
sPrinters = VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST
Else
sPrinters = New ArrayList
For Each sPrinter As String In PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
End If
' Array sortieren
sPrinters.Sort()
@@ -1746,29 +1753,13 @@ Public Class frmSendungsdetailsNEU
End If
Next
setCboSelected(oPS.PrinterName)
If False Then
If sPrinters.Count > 0 Then
cboPrinter.SelectedIndex = 0
For Each i In cboPrinter.Items
If i.ToString = oPS.PrinterName Then
cboPrinter.SelectedItem = i
Exit For
End If
Next
End If
' For Each i In cboPrinter.Items
'If i.ToString.ToUpper.Contains("TALLY") Then
'cboPrinter.SelectedItem = i : Exit For
' End If
' Next
If VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD <> String.Empty Then
setCboSelected(VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD)
Else
setCboSelected(oPS.PrinterName)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim initialisieren der Drucker!")
End Try
@@ -1808,7 +1799,7 @@ Public Class frmSendungsdetailsNEU
If found = False Then 'Falls kein TALLY, Standarddrucker
cboPrinter.SelectedIndex = 0
For Each i In cboPrinter.Items
If i.ToString = standardDrucker Then
If i.ToString.ToUpper.Contains(standardDrucker.ToUpper) Then ' If i.ToString = standardDrucker Then ' Contains, weil sonst \\dc02\ stört
cboPrinter.SelectedItem = i
Exit For
End If

View File

@@ -6,6 +6,7 @@
<package id="CefSharp.WinForms" version="75.1.143" targetFramework="net47" />
<package id="Common.Logging" version="3.4.1" targetFramework="net47" />
<package id="Common.Logging.Core" version="3.4.1" targetFramework="net47" />
<package id="DocumentFormat.OpenXml" version="2.7.2" targetFramework="net47" />
<package id="esendex-dotnet-sdk" version="3.8.0" targetFramework="net47" />
<package id="GrapeCity.Documents.Common" version="2.2.0.315" targetFramework="net461" />
<package id="GrapeCity.Documents.Imaging" version="2.2.0.315" targetFramework="net461" />
@@ -17,6 +18,8 @@
<package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net47" />
<package id="Spire.PDFViewer" version="4.9.5" targetFramework="net47" />
<package id="System.Buffers" version="4.4.0" targetFramework="net461" />
<package id="System.IO.FileSystem.Primitives" version="4.0.1" targetFramework="net47" />
<package id="System.IO.Packaging" version="4.0.0" targetFramework="net47" />
<package id="System.Memory" version="4.5.0" targetFramework="net461" />
<package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net461" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.0" targetFramework="net461" />