93 lines
4.7 KiB
VB.net
93 lines
4.7 KiB
VB.net
Imports System.Globalization
|
|
Imports DevExpress.CodeParser
|
|
Imports tsWPF
|
|
|
|
Partial Public Class liquidacionesagentes
|
|
Public Const Prod As String = "https://www2.agenciatributaria.gob.es/wlpl/TIKE-CONT/ValidarQR"
|
|
Public Const TestValidate As String = "https://prewww2.aeat.es/wlpl/TIKE-CONT/ValidarQR"
|
|
|
|
Public ReadOnly Property EnlaceQR As String
|
|
Get
|
|
|
|
Dim confsi = enumeraciones.LConfsi.Where(Function(x) x.Fecha1.HasValue AndAlso x.Fecha1.Value <= Fecha).OrderByDescending(Function(x) x.Fecha1).FirstOrDefault
|
|
If confsi IsNot Nothing Then
|
|
If confsi.ValorNumerico4 > 0 Then
|
|
Return Prod & "?nif=" & agentes.CIF & "&numserie=" & NumeroFactura & "&fecha=" & Fecha.ToString("dd-MM-yyyy") & "&importe=" & Math.Round(TotalFacturaSinIRPF, 2, MidpointRounding.AwayFromZero).ToString(CultureInfo.InvariantCulture)
|
|
Else
|
|
Dim nf = NumeroFacturaVF(confsi.ValorAlfabetico4)
|
|
Return TestValidate & "?nif=" & agentes.CIF & "&numserie=" & nf & "&fecha=" & Fecha.ToString("dd-MM-yyyy") & "&importe=" & Math.Round(TotalFacturaSinIRPF, 2, MidpointRounding.AwayFromZero).ToString(CultureInfo.InvariantCulture)
|
|
End If
|
|
Else
|
|
Dim nf = NumeroFacturaVF(confsi.ValorAlfabetico4)
|
|
Return TestValidate & "?nif=" & agentes.CIF & "&numserie=" & nf & "&fecha=" & Fecha.ToString("dd-MM-yyyy") & "&importe=" & Math.Round(TotalFacturaSinIRPF, 2, MidpointRounding.AwayFromZero).ToString(CultureInfo.InvariantCulture)
|
|
End If
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property QRVisible As Boolean
|
|
Get
|
|
|
|
Dim confsi = enumeraciones.LConfsi.Where(Function(x) x.Fecha1.HasValue AndAlso x.Fecha1.Value <= Fecha).OrderByDescending(Function(x) x.Fecha1).FirstOrDefault
|
|
If confsi IsNot Nothing Then
|
|
Return confsi.ValorNumerico4 > 0
|
|
Else
|
|
Return False
|
|
End If
|
|
End Get
|
|
End Property
|
|
Public ReadOnly Property DescripcionEstadoVerifactu As String
|
|
Get
|
|
Return EstadoVerifactu.ToString.Replace("_", " ")
|
|
End Get
|
|
End Property
|
|
Public Function NumeroFacturaVF(ByVal PrefijoPruebas As String) As String
|
|
If PrefijoPruebas IsNot Nothing Then
|
|
Return PrefijoPruebas + NumeroFactura
|
|
Else
|
|
Return NumeroFactura
|
|
End If
|
|
End Function
|
|
|
|
Public ReadOnly Property EstadoVerifactu As EstadoVerifactuEnum
|
|
Get
|
|
Dim bd As gestionasegasaEntities = Me.ObtieneContexto
|
|
Dim rvf = bd.registrosverifactu.Where(Function(x) x.idAplicacion = idLiquidacionAgente).OrderByDescending(Function(x) x.idRegistro).FirstOrDefault
|
|
If rvf IsNot Nothing Then
|
|
Return CType(rvf.Estado, EstadoVerifactuEnum)
|
|
Else
|
|
Return EstadoVerifactuEnum.SIN_REGISTROS
|
|
End If
|
|
End Get
|
|
End Property
|
|
Public Enum EstadoVerifactuEnum
|
|
PENDIENTE_RESPUESTA = 0
|
|
CORRECTO = 1
|
|
ACEPTADO_CON_ERRORES = 2
|
|
INCORRECTO = 3
|
|
COMPLETADO = 10
|
|
SIN_REGISTROS = 100
|
|
End Enum
|
|
|
|
Public Function ObtieneNumeroFactura()
|
|
Dim bd As bdGestionAsegasa.gestionasegasaEntities = Me.ObtieneContexto
|
|
Dim AnoAct = Today.Year
|
|
If Me.FechaFactura.Value.Year < 2026 Then
|
|
Dim UltimaLiquidacion = bd.liquidacionesagentes.Where(Function(x) x.FechaFactura.HasValue AndAlso x.FechaFactura.Value.Year = AnoAct).OrderByDescending(Function(x) x.NumeroFactura).FirstOrDefault
|
|
Dim UltimaFactura As Integer = 1
|
|
If UltimaLiquidacion IsNot Nothing Then UltimaFactura = Integer.Parse(UltimaLiquidacion.NumeroFactura.Split("-")(1)) + 1
|
|
Return Today.Year.ToString & "-" & UltimaFactura.ToString.PadLeft(5, "0")
|
|
Else
|
|
Dim UltimaLiquidacion = bd.liquidacionesagentes.Where(Function(x) x.FechaFactura.HasValue AndAlso x.FechaFactura.Value.Year = AnoAct AndAlso x.idSerieFactura = Me.idSerieFactura).OrderByDescending(Function(x) x.NumeroFactura).FirstOrDefault
|
|
Dim UltimaFactura As Integer = 1
|
|
If UltimaLiquidacion IsNot Nothing Then UltimaFactura = Integer.Parse(UltimaLiquidacion.NumeroFactura.Split("-")(1).Substring(2)) + 1
|
|
Dim sf = bd.seriesfacturas.First(Function(x) x.idSerieFactura = idSerieFactura).Serie
|
|
Return sf & "-" & Today.Year.ToString.Substring(2) & UltimaFactura.ToString.PadLeft(5, "0")
|
|
End If
|
|
End Function
|
|
Public ReadOnly Property TotalFacturaSinIRPF As Double
|
|
Get
|
|
Return Math.Round(BaseImponible + IVA, 2, MidpointRounding.AwayFromZero)
|
|
End Get
|
|
End Property
|
|
|
|
End Class
|