barverkauf, etc.
This commit is contained in:
@@ -282,6 +282,9 @@ Public Class EABeleg
|
||||
Property ECZahlungsPerAPI As Boolean = False
|
||||
Property ECTerminalreturnCode As Object = Nothing
|
||||
Property EC_daid As Integer = 0
|
||||
Property FT_ReceiptReference As Object = Nothing
|
||||
|
||||
Property FT_ReceiptReference_Storno As Object = Nothing
|
||||
|
||||
|
||||
Property POS As New List(Of EABelegPositionen)
|
||||
@@ -362,6 +365,8 @@ Public Class EABeleg
|
||||
Me.ECZahlungsPerAPI = cSqlDb.checkNullReturnValue(dr.Item("ECZahlungsPerAPI"), Nothing)
|
||||
Me.ECTerminalreturnCode = cSqlDb.checkNullReturnValue(dr.Item("ECTerminalreturnCode"), Nothing)
|
||||
Me.EC_daid = cSqlDb.checkNullReturnValue(dr.Item("EC_daid"), Nothing)
|
||||
Me.FT_ReceiptReference = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference"), Nothing)
|
||||
Me.FT_ReceiptReference_Storno = cSqlDb.checkNullReturnValue(dr.Item("FT_ReceiptReference_Storno"), Nothing)
|
||||
|
||||
If loadPosAswell Then POS = LOAD_POS_List(Mandant, Niederlassung, Benutzer, BelegNr, BelegDat)
|
||||
' MsgBox(POS.Count)
|
||||
@@ -547,6 +552,8 @@ Public Class EABeleg
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECZahlungsPerAPI", ECZahlungsPerAPI))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("ECTerminalreturnCode", ECTerminalreturnCode))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("EC_daid", EC_daid))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference", FT_ReceiptReference))
|
||||
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem2("FT_ReceiptReference_Storno", FT_ReceiptReference_Storno))
|
||||
|
||||
'For Each p As System.Reflection.PropertyInfo In Me.GetType().GetProperties()
|
||||
'If p.CanRead Then
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
|
||||
Imports System.Data.SqlClient
|
||||
Imports System.IO
|
||||
Imports System.Reflection
|
||||
Imports Chilkat
|
||||
Imports Gma.QrCodeNet.Encoding
|
||||
Imports GrapeCity.DataVisualization.Chart
|
||||
Imports itextsharp.text.pdf.qrcode
|
||||
Imports Newtonsoft.Json
|
||||
Imports QRCoder
|
||||
|
||||
Public Class FtReceiptCases
|
||||
|
||||
@@ -257,71 +261,71 @@ Public Class cFiskaltrustClient_chilkat
|
||||
|
||||
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
|
||||
|
||||
Dim receipCase As Long
|
||||
Select Case _receiptCase
|
||||
Dim receipCase As Long
|
||||
Select Case _receiptCase
|
||||
|
||||
Case "Storno"
|
||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno
|
||||
Case "Storno"
|
||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction 'Storno
|
||||
|
||||
Case Else
|
||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction 'Verkauf
|
||||
Case Else
|
||||
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction 'Verkauf
|
||||
|
||||
End Select
|
||||
End Select
|
||||
|
||||
|
||||
json.UpdateString("ftReceiptCase", receipCase)
|
||||
json.UpdateString("ftReceiptCase", receipCase)
|
||||
|
||||
|
||||
Dim chargeItems = json.AppendArray("cbChargeItems")
|
||||
Dim chargeItems = json.AppendArray("cbChargeItems")
|
||||
|
||||
For Each p In POS
|
||||
For Each p In POS
|
||||
|
||||
If chargeItems.AddObjectAt(-1) Then
|
||||
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
||||
item.UpdateInt("Quantity", p.Anzahl)
|
||||
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
|
||||
item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
|
||||
item.UpdateString("Description", p.LeistungsBez)
|
||||
If chargeItems.AddObjectAt(-1) Then
|
||||
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
|
||||
item.UpdateInt("Quantity", p.Anzahl)
|
||||
item.UpdateNumber("Amount", p.Preis.ToString().Replace(",", "."))
|
||||
item.UpdateNumber("VATRate", vat.ToString().Replace(",", "."))
|
||||
item.UpdateString("Description", p.LeistungsBez)
|
||||
|
||||
Dim ChargeItemCase As Long
|
||||
Select Case vat
|
||||
Dim ChargeItemCase As Long
|
||||
Select Case vat
|
||||
|
||||
Case 19D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueNormal
|
||||
Case 19D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueNormal
|
||||
|
||||
Case 7D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueReduced
|
||||
Case 7D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueReduced
|
||||
|
||||
Case 0D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
|
||||
Case 0D
|
||||
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
|
||||
|
||||
Case Else
|
||||
Throw New Exception("Unbekannter Steuersatz")
|
||||
End Select
|
||||
Case Else
|
||||
Throw New Exception("Unbekannter Steuersatz")
|
||||
End Select
|
||||
|
||||
|
||||
item.UpdateString("ftChargeItemCase", ChargeItemCase)
|
||||
End If
|
||||
item.UpdateString("ftChargeItemCase", ChargeItemCase)
|
||||
End If
|
||||
|
||||
|
||||
Next
|
||||
Next
|
||||
|
||||
Dim payItems = json.AppendArray("cbPayItems")
|
||||
payItems.AddObjectAt(-1)
|
||||
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
|
||||
pay.UpdateInt("Quantity", 1)
|
||||
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
|
||||
pay.UpdateString("Description", kindOfPayment)
|
||||
Dim payItems = json.AppendArray("cbPayItems")
|
||||
payItems.AddObjectAt(-1)
|
||||
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
|
||||
pay.UpdateInt("Quantity", 1)
|
||||
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
|
||||
pay.UpdateString("Description", kindOfPayment)
|
||||
|
||||
Select Case kindOfPayment
|
||||
Case "Cash"
|
||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
|
||||
Case "Card"
|
||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
|
||||
End Select
|
||||
Select Case kindOfPayment
|
||||
Case "Cash"
|
||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
|
||||
Case "Card"
|
||||
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
|
||||
End Select
|
||||
|
||||
|
||||
Return json
|
||||
Return json
|
||||
|
||||
End Function
|
||||
|
||||
@@ -460,7 +464,7 @@ Public Class cFiskaltrustClient_chilkat
|
||||
Return Terminal_ID & "_" & Application.ProductVersion
|
||||
End Function
|
||||
|
||||
Public Function saveRKSV_FT(ByRef result_zahlung As String, ByRef QR_CodeString As String) As Boolean
|
||||
Public Function saveRKSV_FT(ByRef result_zahlung As String, ByRef QR_CodeString As String, ByRef beleg_temp As EABeleg, ByRef isStorno As Boolean) As Boolean
|
||||
|
||||
If result_zahlung <> "" Then
|
||||
Dim json As New Chilkat.JsonObject
|
||||
@@ -498,6 +502,18 @@ Public Class cFiskaltrustClient_chilkat
|
||||
.ftState = json.StringOf("ftState")
|
||||
saved = .SAVE()
|
||||
|
||||
If saved AndAlso beleg_temp IsNot Nothing Then
|
||||
|
||||
If isStorno Then
|
||||
beleg_temp.FT_ReceiptReference_Storno = .cbReceiptReference
|
||||
beleg_temp.SAVE()
|
||||
Else
|
||||
beleg_temp.FT_ReceiptReference = .cbReceiptReference
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
|
||||
End With
|
||||
|
||||
|
||||
@@ -525,10 +541,29 @@ Public Class cFiskaltrustClient_chilkat
|
||||
.ftSignatureFormat = SignObj.StringOf("ftSignatureFormat")
|
||||
.ftSignatureType = SignObj.StringOf("ftSignatureType")
|
||||
saved = .SAVE()
|
||||
If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
|
||||
'QR_CodeString = .ftData
|
||||
End If
|
||||
'If IsNumeric(.ftSignatureType) AndAlso CInt(.ftSignatureType) = IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True, 0, 3) Then
|
||||
' QR_CodeString = .ftData
|
||||
'End If
|
||||
|
||||
'https://receipts.fiskaltrust.eu/{ftQueueID}/{ftQueueItemID}
|
||||
Dim URL_FT As String = ""
|
||||
If Not String.IsNullOrWhiteSpace(ftSig.ftQueueID) AndAlso Not String.IsNullOrWhiteSpace(ftSig.ftQueueItemID) Then
|
||||
URL_FT = $"https://receipts.fiskaltrust.eu/{ftSig.ftQueueID}/{ftSig.ftQueueItemID}"
|
||||
|
||||
Using qrGenerator As New QRCodeGenerator()
|
||||
Using qrData As QRCodeData = qrGenerator.CreateQrCode(URL_FT, QRCodeGenerator.ECCLevel.Q)
|
||||
|
||||
Dim qrCode As New PngByteQRCode(qrData)
|
||||
Dim qrBytes As Byte() = qrCode.GetGraphic(20)
|
||||
Dim qrBase64 As String = Convert.ToBase64String(qrBytes)
|
||||
|
||||
QR_CodeString = qrBase64
|
||||
|
||||
End Using
|
||||
End Using
|
||||
|
||||
|
||||
End If
|
||||
End With
|
||||
|
||||
Next
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
Imports System.Net.Http
|
||||
Imports System.Text
|
||||
Imports GrapeCity.ActiveReports
|
||||
Imports GrapeCity.DataVisualization.Options
|
||||
Imports Newtonsoft.json
|
||||
Imports GrapeCity.ActiveReports
|
||||
Imports SDL.RKSVServer
|
||||
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
|
||||
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
|
||||
|
||||
Public Class cRKSV
|
||||
Shared SQL As New SQL
|
||||
@@ -92,7 +89,7 @@ Public Class cRKSV
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, CompanyGUID As String, ByVal umsatzZaehler As Double, ByVal belegDat As DateTime, ByVal steuerSchluessel As Integer, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, POS As List(Of EABelegPositionen), ByRef QR_CodeString As String, ByRef LastJWS As String) As Boolean
|
||||
Shared Function insertRKSVFiskaltrustAsync(ByVal kasse As cRKSV_Kasse, beleg_temp As EABeleg, ByVal RKSV_Beleg_Id As Integer, ByVal summeBRUTTO As Double, TEST As Boolean, ByRef QR_CodeString As String, ByRef LastJWS As String) As Boolean
|
||||
Try
|
||||
|
||||
|
||||
@@ -103,7 +100,7 @@ Public Class cRKSV
|
||||
credentials.Username = "Admin"
|
||||
credentials.Password = "verag#2"
|
||||
credentials.CashboxID = kasse.rksv_FT_CashboxID
|
||||
credentials.CompanyGUID = CompanyGUID
|
||||
credentials.CompanyGUID = kasse.rksv_CompanyGUID
|
||||
Dim AccessToken As String = kasse.rksv_FT_AccessToken
|
||||
|
||||
Dim jws As String = String.Empty
|
||||
@@ -112,16 +109,18 @@ Public Class cRKSV
|
||||
'Dim answer As String = String.Empty
|
||||
|
||||
Dim Belegnummer = RKSV_Beleg_Id
|
||||
Dim BelegDatumUhrzeit = belegDat ' BELEG.BelegDat
|
||||
Dim BelegDatumUhrzeit = beleg_temp.BelegDat
|
||||
|
||||
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & steuerSchluessel & "' ", "FMZOLL")
|
||||
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & beleg_temp.Steuerschlüssel & "' ", "FMZOLL")
|
||||
|
||||
Dim BetragSatzNormal = IIf(steuersatz = 0.2, summeBRUTTO, 0.0) 'summe
|
||||
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summeBRUTTO, 0.0)
|
||||
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summeBRUTTO, 0.0)
|
||||
Dim BetragSatzNull = IIf(steuersatz = 0.0, summeBRUTTO, 0.0)
|
||||
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
||||
Dim StandUmsatzzaehler = umsatzZaehler 'KASSE.rksv_Umsatzzaehler
|
||||
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
|
||||
|
||||
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
|
||||
|
||||
If False Then
|
||||
'Dim client As New cFiskaltrustClient(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
||||
@@ -134,9 +133,9 @@ Public Class cRKSV
|
||||
'End If
|
||||
Else
|
||||
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
||||
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id)
|
||||
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
|
||||
If result <> "" Then
|
||||
Return client.saveRKSV_FT(result, QR_CodeString)
|
||||
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
@@ -144,11 +143,6 @@ Public Class cRKSV
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
||||
Return False
|
||||
@@ -915,18 +909,13 @@ Public Class cRKSV
|
||||
Dim client As RKSVWcfClient = New RKSVWcfClient()
|
||||
client.Endpoint.Address = New System.ServiceModel.EndpointAddress(getRKSVLink(kasse))
|
||||
client.Open()
|
||||
' svcRKSV.DBUserCredentials m_credentials = new svcRKSV.DBUserCredentials();
|
||||
|
||||
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
||||
|
||||
credentials.Database = "RKSVWcfDB"
|
||||
credentials.Server = "AVISO\SQLEXPRESS"
|
||||
|
||||
|
||||
credentials.Username = "Admin"
|
||||
credentials.Password = "verag#2"
|
||||
'credentials.CashboxID = kasse '"VERAG-SUB-KASSE-ZOLL"
|
||||
'credentials.CompanyGUID = CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
||||
|
||||
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
||||
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
||||
|
||||
@@ -952,23 +941,6 @@ Public Class cRKSV
|
||||
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summeBRUTTO, 0.0)
|
||||
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
|
||||
|
||||
|
||||
' Dim BetragSatzNormal = summe * -1
|
||||
' Dim BetragSatzErm1 = IIf(steuersatz = 0.1, summe, 0.0) * -1
|
||||
' Dim BetragSatzErm2 = IIf(steuersatz = 0.13, summe, 0.0) * -1
|
||||
' Dim BetragSatzNull = IIf(steuersatz = 0.0, summe, 0.0) * -1
|
||||
' Dim BetragSatzBesonders = IIf(steuersatz = 0.19, summe, 0.0) * -1
|
||||
' Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler
|
||||
|
||||
' Dim BetragSatzBesonders = 0
|
||||
' Dim BetragSatzBesonders = 0
|
||||
' Dim BetragSatzBesonders = 0
|
||||
'client.ExportJWS
|
||||
|
||||
' MsgBox(credentials.CashboxID & " credentials.CashboxID")
|
||||
' MsgBox(credentials.CompanyGUID & " credentials.CompanyGUID")
|
||||
|
||||
|
||||
If (client.SignStornoReceipt(credentials, Belegnummer, BelegDatumUhrzeit, BetragSatzNormal, BetragSatzErm1, BetragSatzErm2, BetragSatzBesonders, BetragSatzNull, jws, qr, ocra, answer)) Then
|
||||
|
||||
QR_CodeString = qr
|
||||
@@ -996,6 +968,82 @@ Public Class cRKSV
|
||||
End Try
|
||||
Return False
|
||||
End Function
|
||||
Shared Function stornoRKSV_FT(ByVal kasse As cRKSV_Kasse, ByVal beleg_temp As EABeleg, ByRef QR_CodeString As String, ByRef LastJWS As String, ByRef answer As String) As Boolean
|
||||
Try
|
||||
|
||||
If beleg_temp.rksv_BelegId <= 0 Then
|
||||
MsgBox("Keine RKSV-Beleg-ID")
|
||||
Return False
|
||||
End If
|
||||
|
||||
Dim credentials As New SDL.RKSVServer.DBUserCredentials
|
||||
|
||||
credentials.Database = "RKSVWcfDB"
|
||||
credentials.Server = "AVISO\SQLEXPRESS"
|
||||
credentials.Username = "Admin"
|
||||
credentials.Password = "verag#2"
|
||||
credentials.CashboxID = kasse.rksv_bez '"VERAG-SUB-KASSE-ZOLL"
|
||||
credentials.CompanyGUID = kasse.rksv_CompanyGUID ' "9119d9ae-f549-4a0f-a50f-0500ec7ca059"
|
||||
|
||||
|
||||
|
||||
|
||||
Dim jws As String = String.Empty
|
||||
Dim qr As String = String.Empty
|
||||
Dim ocra As String = String.Empty
|
||||
'Dim answer As String = String.Empty
|
||||
|
||||
Dim Belegnummer = beleg_temp.rksv_BelegId
|
||||
Dim BelegDatumUhrzeit = beleg_temp.BelegDat
|
||||
|
||||
Dim steuersatz As Double = SQL.getValueTxtBySql("SELECT isnull(tblSteuersätze.Steuersatz,0) FROM tblSteuersätze WHERE tblSteuersätze.Nr='" & beleg_temp.Steuerschlüssel & "' ", "FMZOLL")
|
||||
|
||||
|
||||
|
||||
Dim BetragSatzNormal = IIf(steuersatz = 0.2, beleg_temp.rksv_umsatz, 0.0) 'summe
|
||||
Dim BetragSatzErm1 = IIf(steuersatz = 0.1, beleg_temp.rksv_umsatz, 0.0)
|
||||
Dim BetragSatzErm2 = IIf(steuersatz = 0.13, beleg_temp.rksv_umsatz, 0.0)
|
||||
Dim BetragSatzNull = IIf(steuersatz = 0.0, beleg_temp.rksv_umsatz, 0.0)
|
||||
Dim BetragSatzBesonders = IIf(steuersatz = 0.19, beleg_temp.rksv_umsatz, 0.0)
|
||||
Dim StandUmsatzzaehler = kasse.rksv_Umsatzzaehler 'KASSE.rksv_Umsatzzaehler
|
||||
|
||||
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
|
||||
|
||||
If False Then
|
||||
|
||||
Else
|
||||
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
|
||||
Dim result = client.ChancelReceipt(beleg_temp.FT_ReceiptReference, beleg_temp.rksv_umsatz, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id)
|
||||
If result <> "" Then
|
||||
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, True)
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
Return True
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox("Es ist ein Fehler bei der Signatur aufgetreten (insertRKSV): " & vbNewLine & ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Private Shared Function getKindOfPayment(beleg As EABeleg) As String
|
||||
|
||||
If beleg Is Nothing Then Return ""
|
||||
|
||||
Dim kindOfPayment As String = "Cash"
|
||||
|
||||
If beleg.ECZahlungsNr IsNot Nothing AndAlso IsNumeric(beleg.ECZahlungsNr) AndAlso beleg.ECZahlungsNr > 0 Then
|
||||
kindOfPayment = "Card"
|
||||
End If
|
||||
|
||||
Return kindOfPayment
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
'Beleg storno und Kassenbuch Gegenbuchung
|
||||
Shared Function STORNO(BELEG As EABeleg, ByVal grund As String, Firma As String, Optional stornoGegenbuchen As Boolean = False) As EABeleg
|
||||
|
||||
@@ -470,6 +470,9 @@
|
||||
<Reference Include="QRCode">
|
||||
<HintPath>..\..\..\dll\QRCode.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="QRCoder, Version=1.8.0.0, Culture=neutral, PublicKeyToken=c4ed5b9ae8358a28, processorArchitecture=MSIL">
|
||||
<HintPath>..\..\..\Aviso\AVISO\packages\QRCoder.1.8.0\lib\net40\QRCoder.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Registrierkasse">
|
||||
<HintPath>..\..\..\dll\Registrierkasse.dll</HintPath>
|
||||
</Reference>
|
||||
|
||||
33
SDL/USTV/frmMDM_USTVAntrag.Designer.vb
generated
33
SDL/USTV/frmMDM_USTVAntrag.Designer.vb
generated
@@ -148,7 +148,6 @@ Partial Class frmMDM_USTVAntrag
|
||||
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripMenuItem3 = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.FakturiertToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.txtWarning = New VERAG_PROG_ALLGEMEIN.MyTextBox()
|
||||
Me.UstCntlUSTV_AntragPosition1 = New SDL.ustCntlUSTV_AntragPosition()
|
||||
Me.UstCntlUSTV_AntragErstattungen1 = New SDL.ustCntlUSTV_ErstattungPosition()
|
||||
Me.pnlBottom.SuspendLayout()
|
||||
@@ -430,7 +429,6 @@ Partial Class frmMDM_USTVAntrag
|
||||
'pnlHeader
|
||||
'
|
||||
Me.pnlHeader.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
|
||||
Me.pnlHeader.Controls.Add(Me.txtWarning)
|
||||
Me.pnlHeader.Controls.Add(Me.cbxRGretour)
|
||||
Me.pnlHeader.Controls.Add(Me.lblGesamtUSteuer)
|
||||
Me.pnlHeader.Controls.Add(Me.lblDiffernezbetrag)
|
||||
@@ -529,7 +527,7 @@ Partial Class frmMDM_USTVAntrag
|
||||
Me.KdSearchBox1.KdNr = "-1"
|
||||
Me.KdSearchBox1.kdNrField = Nothing
|
||||
Me.KdSearchBox1.KdNrNullInt = Nothing
|
||||
Me.KdSearchBox1.Location = New System.Drawing.Point(298, 10)
|
||||
Me.KdSearchBox1.Location = New System.Drawing.Point(284, 12)
|
||||
Me.KdSearchBox1.Name = "KdSearchBox1"
|
||||
Me.KdSearchBox1.nurAktive = True
|
||||
Me.KdSearchBox1.searchActive = True
|
||||
@@ -1935,34 +1933,6 @@ Partial Class frmMDM_USTVAntrag
|
||||
Me.FakturiertToolStripMenuItem.Text = "Fakturiert zurücksetzen"
|
||||
Me.FakturiertToolStripMenuItem.Visible = False
|
||||
'
|
||||
'txtWarning
|
||||
'
|
||||
Me.txtWarning._DateTimeOnly = False
|
||||
Me.txtWarning._numbersOnly = False
|
||||
Me.txtWarning._numbersOnlyKommastellen = ""
|
||||
Me.txtWarning._numbersOnlyTrennzeichen = False
|
||||
Me.txtWarning._Prozent = False
|
||||
Me.txtWarning._ShortDateNew = False
|
||||
Me.txtWarning._ShortDateOnly = False
|
||||
Me.txtWarning._TimeOnly = False
|
||||
Me.txtWarning._TimeOnly_Seconds = False
|
||||
Me.txtWarning._value = ""
|
||||
Me.txtWarning._Waehrung = False
|
||||
Me.txtWarning._WaehrungZeichen = False
|
||||
Me.txtWarning.BackColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
|
||||
Me.txtWarning.BorderStyle = System.Windows.Forms.BorderStyle.None
|
||||
Me.txtWarning.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.txtWarning.ForeColor = System.Drawing.Color.Black
|
||||
Me.txtWarning.Location = New System.Drawing.Point(475, 36)
|
||||
Me.txtWarning.MaxLength = 10
|
||||
Me.txtWarning.MaxLineLength = -1
|
||||
Me.txtWarning.MaxLines_Warning = ""
|
||||
Me.txtWarning.MaxLines_Warning_Label = Nothing
|
||||
Me.txtWarning.Multiline = True
|
||||
Me.txtWarning.Name = "txtWarning"
|
||||
Me.txtWarning.Size = New System.Drawing.Size(88, 40)
|
||||
Me.txtWarning.TabIndex = 61
|
||||
'
|
||||
'UstCntlUSTV_AntragPosition1
|
||||
'
|
||||
Me.UstCntlUSTV_AntragPosition1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
@@ -2153,5 +2123,4 @@ Partial Class frmMDM_USTVAntrag
|
||||
Friend WithEvents btnSortNachLeist As Button
|
||||
Friend WithEvents txtVZOffen As VERAG_PROG_ALLGEMEIN.MyTextBox
|
||||
Friend WithEvents Label19 As Label
|
||||
Friend WithEvents txtWarning As VERAG_PROG_ALLGEMEIN.MyTextBox
|
||||
End Class
|
||||
|
||||
@@ -57,18 +57,16 @@ Public Class frmMDM_USTVAntrag
|
||||
lblGesamtErstattungFW.Text = "-"
|
||||
lblDiffernezbetragFW.Text = "-"
|
||||
|
||||
txtWarning.Text = ""
|
||||
|
||||
lblGesamtUSteuer.Text = "-"
|
||||
lblGesamtUSteuer.Text="-"
|
||||
lblGesamtErstattung.Text = "-"
|
||||
lblDiffernezbetrag.Text = "-"
|
||||
|
||||
btnAntrageeinarbeiten.Enabled = Not UStVAn_ID <= 0
|
||||
FlowLayoutPanel.Enabled = Not UStVAn_ID <= 0
|
||||
btnEintragloeschen.Enabled = Not UStVAn_ID <= 0
|
||||
btnNeuerEintrag.Enabled = Not UStVAn_ID <= 0
|
||||
UstCntlUSTV_AntragPosition1.Enabled = Not UStVAn_ID <= 0
|
||||
cbxLand.Visible = UStVAn_ID <= 0
|
||||
FlowLayoutPanel.Enabled= Not UStVAn_ID <= 0
|
||||
btnEintragloeschen.Enabled= Not UStVAn_ID <= 0
|
||||
btnNeuerEintrag.Enabled= Not UStVAn_ID <= 0
|
||||
UstCntlUSTV_AntragPosition1.Enabled= Not UStVAn_ID <= 0
|
||||
cbxLand.Visible= UStVAn_ID <= 0
|
||||
|
||||
|
||||
With dgvUSTVPositionen
|
||||
@@ -76,11 +74,6 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If UStVAn_ID <= 0 Then Exit Sub
|
||||
|
||||
'.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId]
|
||||
' FROM [tblUStVPositionen]
|
||||
' left join [tblUStVLeistender] as leist on leist.UStV_Leistender = [tblUStVPositionen].[UStVPo_Leistender]
|
||||
' where UStVAn_ID='" & UStVAn_ID & "' ORDER BY UStVPo_ID", "FMZOLL")
|
||||
|
||||
.SET_SQL("SELECT [UStVAn_ID] ,[UStVPo_ID] " & IIf(cbxInterneNr.Checked, ",[UStVPo_interneNr] as intNr", "") & " ,[UStVPo_ReDat],[UStVPo_ReNr],[UStVPo_Leistungsbezeichnung],[UStVPo_Nettobetrag],[UStVPo_NettobetragEUR],[UStVPo_Leistender],leist.[UstV_Leistender_Strasse] + ' ' + leist.[UstV_Leistender_StrasseNr] as [UstV_Leistender_Strasse],leist.[UstV_Leistender_Strasse] as StrasseOnly,leist.[UstV_Leistender_StrasseNr] as StrassenNrOnly,leist.[UstV_Leistender_PLZ],leist.[UstV_Leistender_Stadt],leist.[UstV_Leistender_Land],leist.[UstV_Leistender_UstNr],[UStVPo_USteuerbetrag],[UStVPo_Schnittstelle],[UStVPo_SchnittstellenNr],[UStVPo_Umrechnungskurs],[UStVPo_USteuerbetragEUR],[UStVPo_Sachbearbeiter], [UStVPo_daId], [UStVPo_daId_loeschbar] ,[UStVPo_VZ],[UStVPo_VZ_RKID] ,cast(case when isnull([UStVPo_VZ_RKID],0) = 0 then 0 else 1 end as bit) as VZabrechnet
|
||||
FROM [tblUStVPositionen]
|
||||
LEFT JOIN [tblUStVLeistender] as leist
|
||||
@@ -207,17 +200,18 @@ Public Class frmMDM_USTVAntrag
|
||||
DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf
|
||||
End If
|
||||
|
||||
If Not (r.Cells("UStVPo_SchnittstellenNr").Value = 4 OrElse r.Cells("UStVPo_SchnittstellenNr").Value = 9) AndAlso Not r.Cells("UStVPo_ReNr").Value.ToString.ToLower.StartsWith("bis") Then 'MSE und "SAMMELBERIFF" ausnehmen
|
||||
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value)
|
||||
|
||||
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value)
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
|
||||
If Not invoiceNumbers.Add(rechnungsNr) Then
|
||||
txtWarning.Text = "dopp. Rechnungsnr!"
|
||||
Exit For
|
||||
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
|
||||
If Not invoiceNumbers.Add(rechnungsNr) Then
|
||||
r.Cells("UStVPo_ReNr").Style.BackColor = Color.IndianRed
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Next
|
||||
|
||||
If .Columns.Count > 1 Then
|
||||
@@ -1832,7 +1826,7 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If UStVAn_ID > 0 Then
|
||||
|
||||
Dim invoiceNumbers As New HashSet(Of String)
|
||||
|
||||
|
||||
dgvUSTVPositionen.GetOrder()
|
||||
|
||||
@@ -1844,6 +1838,18 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cMDMFunctionsAllgemein.Update_UStVASummenNeuBerechnen_USTVA(USTV_ANTRAG.UStVAn_ID)
|
||||
|
||||
Dim invoiceNumbers As New HashSet(Of String)
|
||||
For Each r In dgvUSTVPositionen.Rows
|
||||
Dim rechnungsNr = CStr(r.Cells("UStVPo_ReNr").Value)
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
|
||||
If Not invoiceNumbers.Add(rechnungsNr) Then
|
||||
MessageBox.Show($"Doppelt erfasste RechnungsNr vorhanden: {rechnungsNr}")
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
|
||||
If USTV_ANTRAG.UStVAn_Währungscode IsNot Nothing AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso USTV_ANTRAG.UStVAn_Währungscode <> "" Then
|
||||
Dim averageUmrechnungskurs As Double = 1
|
||||
Dim invoicedateOK As Boolean = True
|
||||
@@ -1859,14 +1865,7 @@ Public Class frmMDM_USTVAntrag
|
||||
PosNr = row.Cells("UStVPo_ID").Value
|
||||
End If
|
||||
|
||||
Dim rechnungsNr = CStr(row.Cells("UStVPo_ReNr").Value)
|
||||
|
||||
If Not String.IsNullOrWhiteSpace(rechnungsNr) Then
|
||||
If Not invoiceNumbers.Add(rechnungsNr) Then
|
||||
MessageBox.Show($"Doppelt erfasste RechnungsNr: {rechnungsNr}")
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
Next
|
||||
averageUmrechnungskurs = averageUmrechnungskurs / dgvUSTVPositionen.Rows.Count
|
||||
|
||||
@@ -802,7 +802,7 @@ Public Class usrCntlUSTV
|
||||
|
||||
|
||||
Dim sqlStr = "SELECT [UStVAn_ID] as AntragsID,cast([UStVPo_ReDat] as date) as Rechnungsdatum,[UStVPo_ReNr] as RechnungsNr
|
||||
FROM [VERAG].[dbo].[tblUStVPositionen] where Year([UStVPo_ReDat]) >= " & RechnungsjahrVon & " and Year([UStVPo_ReDat]) >= " & RechnungsjahrBis & "
|
||||
FROM [VERAG].[dbo].[tblUStVPositionen] where Year([UStVPo_ReDat]) >= " & RechnungsjahrVon & " and Year([UStVPo_ReDat]) <= " & RechnungsjahrBis & "
|
||||
group by [UStVAn_ID] ,[UStVPo_ReNr], [UStVPo_ReDat]
|
||||
HAVING COUNT(*) > 1
|
||||
order by [UStVAn_ID] desc"
|
||||
|
||||
@@ -1704,7 +1704,7 @@ Public Class frmBelegNeu
|
||||
|
||||
Dim verarbeitet As Boolean = False
|
||||
If KASSE.rksv_FT_RestServiceURL <> "" Then
|
||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, BELEG.POS, QR_CodeString, LastJWS)
|
||||
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, If(EA = "E", summeBRUTTO, summeBRUTTO * -1), TESTBUCHUNG, QR_CodeString, LastJWS)
|
||||
'result.Wait()
|
||||
verarbeitet = result
|
||||
Else
|
||||
@@ -2028,7 +2028,7 @@ Public Class frmBelegNeu
|
||||
|
||||
If vbYes = MsgBox(result & vbNewLine & vbNewLine & "Testdaten in DB speichern?", vbYesNoCancel) Then
|
||||
Dim QR_CodeString As String = ""
|
||||
client_chilkat.saveRKSV_FT(result, QR_CodeString)
|
||||
client_chilkat.saveRKSV_FT(result, QR_CodeString, Nothing, False)
|
||||
End If
|
||||
Else
|
||||
Return False
|
||||
|
||||
@@ -207,6 +207,8 @@ Public Class frmKassenbuch
|
||||
' " ORDER BY b.rksv_BelegId DESC;", "FMZOLL")
|
||||
.LOAD()
|
||||
|
||||
If .Rows.Count = 0 Then Exit Sub
|
||||
|
||||
.Columns("Betrag").DefaultCellStyle.Format = "C"
|
||||
.Columns("Betrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopRight
|
||||
.Columns("Ordnungsbegriff").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||||
@@ -273,6 +275,8 @@ Public Class frmKassenbuch
|
||||
' " " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' ORDER BY JournalNr DESC", "FMZOLL")
|
||||
.LOAD()
|
||||
|
||||
If .Rows.Count = 0 Then Exit Sub
|
||||
|
||||
.Columns("JournalNr").Width = 55
|
||||
.Columns("JournalNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||||
.Columns("Brutto").DefaultCellStyle.Format = "C"
|
||||
@@ -1007,10 +1011,24 @@ Public Class frmKassenbuch
|
||||
Dim LastJWS As String = ""
|
||||
Dim answer = ""
|
||||
If KASSETmp.rksv_aktiv Then
|
||||
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
|
||||
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
|
||||
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso IsNumeric(KASSETmp.rksv_FT_CashboxID) AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
||||
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
|
||||
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Else
|
||||
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
|
||||
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
If KASSETmp.rksvDE_aktiv Then
|
||||
Dim PERSONALTmp1 As cPersonal = FMZOLL_SQL.getPersonalById(BELEGTmp.Benutzer)
|
||||
@@ -1075,14 +1093,25 @@ Public Class frmKassenbuch
|
||||
Dim LastJWS As String = ""
|
||||
Dim answer = ""
|
||||
If KASSETmp.rksv_aktiv Then
|
||||
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
|
||||
'FEHLER!!
|
||||
If KASSETmp.rksv_StornoIncreaseBelegCnt Then BELEGTmp.rksv_BelegIdStorno = Nothing
|
||||
BELEGTmp = cRKSV.STORNO_RUECKGAENGIG(BELEGTmp, grund, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung
|
||||
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
|
||||
If KASSETmp.rksv_FT_CashboxID IsNot Nothing AndAlso KASSETmp.rksv_FT_CashboxID <> "" AndAlso BELEGTmp.FT_ReceiptReference IsNot Nothing Then
|
||||
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSETmp.rksv_FT_RestServiceURL, KASSETmp.rksv_FT_CashboxID, KASSETmp.rksv_FT_AccessToken, KASSETmp.rksv_FT_Country)
|
||||
If Not cRKSV.stornoRKSV_FT(KASSETmp, BELEGTmp, QRQString, LastJWS, answer) Then
|
||||
MessageBox.Show("Fehler bei der RKSV-FT-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
End If
|
||||
|
||||
Else
|
||||
If Not cRKSV.stornoRKSV(KASSETmp, BELEGTmp.BelegDat, BELEGTmp.Steuerschlüssel, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_umsatz, QRQString, LastJWS, answer) Then
|
||||
'FEHLER!!
|
||||
If KASSETmp.rksv_StornoIncreaseBelegCnt Then BELEGTmp.rksv_BelegIdStorno = Nothing
|
||||
BELEGTmp = cRKSV.STORNO_RUECKGAENGIG(BELEGTmp, grund, KASSETmp.rksv_firma) 'Beleg storno und Kassenbuch Gegenbuchung
|
||||
MessageBox.Show("Fehler bei der RKSV-Stornierung:" & vbNewLine & vbNewLine & answer, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
If KASSETmp.rksvDE_aktiv Then
|
||||
If Not cRKSV.stornoRKSV_DE(PERSONALTmp, BELEGTmp, KASSETmp, If(BELEGTmp.rksv_BelegIdStorno, BELEGTmp.rksv_BelegId), BELEGTmp.rksv_BelegId, BELEGTmp.rksv_umsatz, QRQString, LastJWS, False, answer) Then
|
||||
'FEHLER!!
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
<package id="Microsoft.Extensions.Primitives" version="5.0.0" targetFramework="net48" />
|
||||
<package id="Newtonsoft.Json" version="13.0.4" targetFramework="net48" />
|
||||
<package id="Portable.BouncyCastle" version="1.8.5" targetFramework="net48" />
|
||||
<package id="QRCoder" version="1.8.0" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="5.0.0" targetFramework="net48" />
|
||||
<package id="System.Interactive.Async" version="4.0.0" targetFramework="net48" />
|
||||
|
||||
Reference in New Issue
Block a user