Files
Asegasa.NET/guia/Extensiones/agentes.vb
2026-04-28 11:52:16 +02:00

230 lines
9.7 KiB
VB.net

Imports tsl5.Extensiones
Partial Public Class agentes
Public ReadOnly Property NombreYCodigo As String
Get
Return Nombre & " - " & Codigo
End Get
End Property
Public ReadOnly Property CodigoYNombre As String
Get
Return Codigo & " - " & Nombre
End Get
End Property
Public ReadOnly Property Direccion As direcciones
Get
If Me.idDireccion.HasValue AndAlso Me.idDireccion.Value > 0 Then
Return Me.direcciones
Else
Return Nothing
End If
End Get
End Property
Private _CodigoPostalTmpEsNulo As Boolean = True
Private _CodigoPostalTmp As String
Public Property CodigoPostalTmp As String
Get
If _CodigoPostalTmpEsNulo Then
If Direccion Is Nothing Then
Return ""
Else
_CodigoPostalTmp = Me.Direccion.CodigoPostal
_CodigoPostalTmpEsNulo = False
Return Me.Direccion.CodigoPostal
End If
Else
Return _CodigoPostalTmp
End If
End Get
Set(value As String)
_CodigoPostalTmp = value
_CodigoPostalTmpEsNulo = False
If Direccion IsNot Nothing Then
Direccion.CodigoPostal = value
End If
Me.OnPropertyChanged("CodigoPostalTmp")
End Set
End Property
Private _DomicilioTmpEsNulo As Boolean = True
Private _DomicilioTmp As String
Public Property DomicilioTmp As String
Get
If _DomicilioTmpEsNulo Then
If Direccion Is Nothing Then
Return ""
Else
_DomicilioTmp = Direccion.Direccion
_DomicilioTmpEsNulo = False
Return Direccion.Direccion
End If
Else
Return _DomicilioTmp
End If
End Get
Set(value As String)
_DomicilioTmp = value
_DomicilioTmpEsNulo = False
If Direccion IsNot Nothing Then
Direccion.Direccion = value
End If
Me.OnPropertyChanged("DomicilioTmp")
End Set
End Property
Private _CodigoPoblacionTmpEsNulo As Boolean = True
Private _CodigoPoblacionTmp As String
Public Property CodigoPoblacionTmp As String
Get
If _CodigoPoblacionTmpEsNulo Then
If Direccion Is Nothing OrElse Direccion.municipios Is Nothing Then
If Direccion IsNot Nothing AndAlso Direccion.municipios Is Nothing Then
If Direccion.CodigoPostal.NothingAVacio <> "" Then
Dim bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContexto
Dim pob = bd.codigospostales.FirstOrDefault(Function(x) x.CodigoPostal = Direccion.CodigoPostal)
If pob Is Nothing Then
Return "CP.ERRONEO"
Else
Direccion.CodigoMunicipio = pob.CodigoMunicipio
_CodigoPoblacionTmp = pob.CodigoMunicipio
_CodigoPoblacionTmpEsNulo = False
Return _CodigoPoblacionTmp
End If
Else
Return ""
End If
Else
Return ""
End If
Else
_CodigoPoblacionTmp = Direccion.CodigoMunicipio
_CodigoPoblacionTmpEsNulo = False
Return Direccion.CodigoMunicipio
End If
Else
Return _CodigoPoblacionTmp
End If
End Get
Set(value As String)
_CodigoPoblacionTmp = value
_CodigoPoblacionTmpEsNulo = False
If Direccion IsNot Nothing Then
Direccion.CodigoMunicipio = value
End If
Me.OnPropertyChanged("CodigoPoblacionTmp")
ProvinciaTmp = municipios.ObtieneProvincia(_CodigoPoblacionTmp)
PoblacionTmp = municipios.ObtienePoblacion(_CodigoPoblacionTmp)
End Set
End Property
Private _PoblacionTmp As String
Private _PoblacionTmpEsNulo As Boolean = True
Public Property PoblacionTmp As String
Get
If _PoblacionTmpEsNulo Then _PoblacionTmp = municipios.ObtienePoblacion(CodigoPoblacionTmp)
Return _PoblacionTmp
End Get
Set(value As String)
_PoblacionTmp = value
Me.OnPropertyChanged("PoblacionTmp")
End Set
End Property
Private _ProvinciaTmp As String
Private _ProvinciaTmpEsNulo As Boolean = True
Public Property ProvinciaTmp As String
Get
If _ProvinciaTmpEsNulo Then _ProvinciaTmp = municipios.ObtieneProvincia(CodigoPoblacionTmp)
Return _ProvinciaTmp
End Get
Set(value As String)
_ProvinciaTmp = value
Me.OnPropertyChanged("ProvinciaTmp")
End Set
End Property
Public ReadOnly Property OficinaAgente As String
Get
' Dim sPrefijoAgentes As String = "|2 |000004|000018|000023|000029|100029|"
'Dim sPrefijo = Me.Codigo.PadLeft(6, " ")
'If sPrefijoAgentes.Contains("|" & sPrefijo & "|") Then
If Me.Codigo <> "000029013008" And (Me.Codigo.StartsWith("2") Or Me.Codigo.StartsWith("000004") Or Me.Codigo.StartsWith("000018") Or Me.Codigo.StartsWith("000023") Or Me.Codigo.StartsWith("000029") Or Me.Codigo.StartsWith("100029")) Then
Return "Antequera"
Else
Return "Sevilla"
End If
End Get
End Property
Public ReadOnly Property PolizasConDocumentosPendientes As List(Of polizassg)
Get
Return Me.polizassg.Where(Function(x) (x.NumeroPoliza IsNot Nothing OrElse x.FechaAceptacionPresupuesto.HasValue) AndAlso (x.FechaDocumentosSuplementoRevisado IsNot Nothing OrElse x.NumeroSuplemento = 0 OrElse x.agentes.Codigo = "1" OrElse x.agentes.Codigo = "2") AndAlso x.documentospolizassg.Any(Function(y) y.Obligatorio AndAlso y.FechaComprobacion Is Nothing AndAlso y.idFichero Is Nothing)).ToList
End Get
End Property
Public ReadOnly Property PolizasConDocumentosPendientes7Dias As List(Of polizassg)
Get
Dim FechaInicio As Date = Date.Today.AddDays(-7)
Return Me.polizassg.Where(Function(x) x.FechaBaja.HasValue = False And (x.NumeroPoliza IsNot Nothing Or x.FechaAceptacionPresupuesto IsNot Nothing) And (x.FechaAlta >= FechaInicio And (x.FechaDocumentosSuplementoRevisado IsNot Nothing OrElse x.NumeroSuplemento = 0 Or x.agentes.Codigo = "1" Or x.agentes.Codigo = "2") And x.documentospolizassg.Any(Function(y) y.FechaComprobacion Is Nothing AndAlso y.idFichero Is Nothing AndAlso y.Obligatorio AndAlso (y.documentosasolicitar Is Nothing OrElse y.documentosasolicitar.SolicitarAAgente)))).ToList
'Return Me.polizassg.Where(Function(x) (x.FechaAlta.HasValue = False OrElse x.FechaAlta >= FechaInicio) AndAlso (x.NumeroPoliza IsNot Nothing OrElse x.FechaAceptacionPresupuesto.HasValue)).ToList.Where(Function(x) (x.FechaDocumentosSuplementoRevisado IsNot Nothing OrElse x.NumeroSuplemento = 0 OrElse x.agentes.Codigo = "1" OrElse x.agentes.Codigo = "2") And x.documentospolizassg.Any(Function(y) y.Obligatorio AndAlso y.FechaComprobacion Is Nothing AndAlso y.idFichero Is Nothing)).ToList
End Get
End Property
Public Shared Function CambiaCarteraAgente(AgenteAnterior As String, AgenteNuevo As String) As Boolean
Dim bd = bdGestionAsegasa.gestionasegasaEntities.NuevoContextoCN()
Dim idnueage = bd.agentes.First(Function(x) x.Codigo = AgenteNuevo).idAgente
Dim recs = bd.recibos.Where(Function(x) x.liquidacionesagenterecibos.Any = False And x.agentes.Codigo = AgenteAnterior).ToList
Dim tge = bdGestionAsegasa.TipoGestionEnum.CAMBIO_CARTERA_AGENTE
For Each r In recs
r.idAgente = idnueage
' r.polizassg.idAgente = idnueage
Dim tg As New bdGestionAsegasa.gestionesrecibos
With tg
.idRecibo = r.idRecibo
.FormaComunicacion = 4
.Tipo = tge
.GestionesRealizadas = tge.ToString.Replace("_", " ")
.Fecha = Now
.idCorreo = Nothing
.Observaciones = "Cambio Cartera Agente del " & AgenteAnterior & " al " & AgenteNuevo
End With
bd.gestionesrecibos.AddObject(tg)
Next
bd.SaveChanges()
Dim tgp = bd.enumeraciones.First(Function(x) x.Codigo = "TGP.CAMCARAG")
Dim idtgp = tgp.idEnumeracion
Dim pols = bd.polizassg.Where(Function(x) x.agentes.Codigo = AgenteAnterior And x.FechaBaja.HasValue = False)
For Each p In pols
p.idAgente = idnueage
Dim tg As New bdGestionAsegasa.gestionespolizassg
With tg
.idPoliza = p.idPoliza
.idTipo = idtgp
.GestionesRealizadas = tgp.Descripcion
.Fecha = Now
.Observaciones = "Cambio Cartera Agente del " & AgenteAnterior & " al " & AgenteNuevo
End With
bd.gestionespolizassg.AddObject(tg)
Next
bd.SaveChanges()
Dim ageant = bd.agentes.First(Function(x) x.Codigo = AgenteAnterior)
Dim bbaja As Boolean
If ageant.FechaBaja.HasValue = False Then
ageant.FechaBaja = Now
bbaja = True
Else
bbaja = False
End If
bd.SaveChanges()
Return bbaja
End Function
End Class