Files
Asegasa.NET/bdAsegasa/Extensiones/siniestros.cs
2026-04-28 11:52:16 +02:00

605 lines
24 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using bdAsegasa.db;
using Microsoft.EntityFrameworkCore;
using tsUtilidades.Extensiones;
namespace bdAsegasa.db
{
public partial class siniestros
{
public int? idPoliza_Nulable
{
get
{
if (idPoliza == 0)
{
return null;
}
else
{
return idPoliza;
}
}
set
{
if (value.HasValue)
{
idPoliza = value.Value;
}
}
}
#region Contrario
private bool _CifContrarioTmpEsNulo = true;
private string _CifContrarioTmp;
public string CifContrarioTmp
{
get
{
if (_CifContrarioTmpEsNulo)
{
if (this.idEntidadContrarioNavigation == null) return "";
_CifContrarioTmp = this.idEntidadContrarioNavigation.CIF;
_CifContrarioTmpEsNulo = false;
return this.idEntidadContrarioNavigation.CIF;
}
return _CifContrarioTmp;
}
set
{
_CifContrarioTmp = value;
_CifContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation != null)
{
this.idEntidadContrarioNavigation.CIF = string.IsNullOrEmpty(value) ? null : value;
}
OnPropertyChanged("CifContrarioTmp");
OnPropertyChanged("RazonSocialContrarioTmp");
OnPropertyChanged("CodigoPostalContrarioTmp");
OnPropertyChanged("DomicilioContrarioTmp");
OnPropertyChanged("CodigoPoblacionContrarioTmp");
OnPropertyChanged("PoblacionContrarioTmp");
OnPropertyChanged("ProvinciaContrarioTmp");
OnPropertyChanged("TelefonoContrario1Tmp");
OnPropertyChanged("TelefonoContrario2Tmp");
OnPropertyChanged("EmailContrarioTmp");
}
}
private bool _RazonSocialContrarioTmpEsNulo = true;
private string _RazonSocialContrarioTmp;
public string RazonSocialContrarioTmp
{
get
{
if (_RazonSocialContrarioTmpEsNulo)
{
string rs = "";
if (string.IsNullOrEmpty(this.idEntidadContrarioNavigation.RazonSocial))
{
rs = (this.idEntidadContrarioNavigation.Apellidos + ", " + this.idEntidadContrarioNavigation.Nombre).Trim().Trim(',');
}
else
{
rs = this.idEntidadContrarioNavigation.RazonSocial;
}
_RazonSocialContrarioTmpEsNulo = false;
_RazonSocialContrarioTmp = rs;
return rs;
}
return _RazonSocialContrarioTmp;
}
set
{
_RazonSocialContrarioTmp = value;
_RazonSocialContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation != null)
{
this.idEntidadContrarioNavigation.RazonSocial = value;
if (!string.IsNullOrEmpty(this.idEntidadContrarioNavigation.CIF) && "1234567890X".Contains(this.idEntidadContrarioNavigation.CIF.Substring(1, 1)) && value.Contains(","))
{
var parts = value.Split(',');
this.idEntidadContrarioNavigation.Apellidos = parts[0].Trim();
if (parts.Length > 1) this.idEntidadContrarioNavigation.Nombre = parts[1].Trim();
}
}
OnPropertyChanged("RazonSocialContrarioTmp");
}
}
private bool _CodigoPostalContrarioTmpEsNulo = true;
private string _CodigoPostalContrarioTmp;
public string CodigoPostalContrarioTmp
{
get
{
if (_CodigoPostalContrarioTmpEsNulo)
{
if (this.idEntidadContrarioNavigation?.DireccionPrincipal == null) return "";
_CodigoPostalContrarioTmp = this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoPostal;
_CodigoPostalContrarioTmpEsNulo = false;
return _CodigoPostalContrarioTmp;
}
return _CodigoPostalContrarioTmp;
}
set
{
_CodigoPostalContrarioTmp = value;
_CodigoPostalContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation?.DireccionPrincipal != null)
{
this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoPostal = value;
}
OnPropertyChanged("CodigoPostalContrarioTmp");
}
}
private bool _DomicilioContrarioTmpEsNulo = true;
private string _DomicilioContrarioTmp;
public string DomicilioContrarioTmp
{
get
{
if (_DomicilioContrarioTmpEsNulo)
{
if (this.idEntidadContrarioNavigation?.DireccionPrincipal == null) return "";
_DomicilioContrarioTmp = this.idEntidadContrarioNavigation.DireccionPrincipal.Direccion;
_DomicilioContrarioTmpEsNulo = false;
return _DomicilioContrarioTmp;
}
return _DomicilioContrarioTmp;
}
set
{
_DomicilioContrarioTmp = value;
_DomicilioContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation?.DireccionPrincipal != null)
{
this.idEntidadContrarioNavigation.DireccionPrincipal.Direccion = value;
}
OnPropertyChanged("DomicilioContrarioTmp");
}
}
private bool _CodigoPoblacionContrarioTmpEsNulo = true;
private string _CodigoPoblacionContrarioTmp;
public string CodigoPoblacionContrarioTmp
{
get
{
if (_CodigoPoblacionContrarioTmpEsNulo)
{
if (this.idEntidadContrarioNavigation?.DireccionPrincipal == null)
{
return "";
}
if (this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoMunicipioNavigation == null && !string.IsNullOrEmpty(this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoPostal))
{
using (var bd = tscgestionasegasa.NuevoContexto())
{
var pob = bd.codigospostales.FirstOrDefault(x => x.CodigoPostal == this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoPostal);
if (pob != null)
{
this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoMunicipio = pob.CodigoMunicipio;
_CodigoPoblacionContrarioTmp = pob.CodigoMunicipio;
_CodigoPoblacionContrarioTmpEsNulo = false;
return _CodigoPoblacionContrarioTmp;
}
}
}
_CodigoPoblacionContrarioTmp = this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoMunicipio;
_CodigoPoblacionContrarioTmpEsNulo = false;
return _CodigoPoblacionContrarioTmp;
}
return _CodigoPoblacionContrarioTmp;
}
set
{
_CodigoPoblacionContrarioTmp = value;
_CodigoPoblacionContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation?.DireccionPrincipal != null)
{
this.idEntidadContrarioNavigation.DireccionPrincipal.CodigoMunicipio = value;
}
OnPropertyChanged("CodigoPoblacionContrarioTmp");
OnPropertyChanged("PoblacionContrarioTmp");
OnPropertyChanged("ProvinciaContrarioTmp");
}
}
public string PoblacionContrarioTmp
{
get
{
return municipios.ObtienePoblacion(CodigoPoblacionContrarioTmp);
}
}
public string ProvinciaContrarioTmp
{
get
{
return municipios.ObtieneProvincia(CodigoPoblacionContrarioTmp);
}
}
private bool _TelefonoContrario1TmpEsNulo = true;
private string _TelefonoContrario1Tmp;
public string TelefonoContrario1Tmp
{
get
{
if (_TelefonoContrario1TmpEsNulo)
{
if (this.idEntidadContrarioNavigation == null) return "";
_TelefonoContrario1Tmp = this.idEntidadContrarioNavigation.Telefono1;
_TelefonoContrario1TmpEsNulo = false;
return _TelefonoContrario1Tmp;
}
return _TelefonoContrario1Tmp;
}
set
{
_TelefonoContrario1Tmp = value;
_TelefonoContrario1TmpEsNulo = false;
if (this.idEntidadContrarioNavigation != null) this.idEntidadContrarioNavigation.Telefono1 = value;
OnPropertyChanged("TelefonoContrario1Tmp");
}
}
private bool _TelefonoContrario2TmpEsNulo = true;
private string _TelefonoContrario2Tmp;
public string TelefonoContrario2Tmp
{
get
{
if (_TelefonoContrario2TmpEsNulo)
{
if (this.idEntidadContrarioNavigation == null) return "";
_TelefonoContrario2Tmp = this.idEntidadContrarioNavigation.Telefono2;
_TelefonoContrario2TmpEsNulo = false;
return _TelefonoContrario2Tmp;
}
return _TelefonoContrario2Tmp;
}
set
{
_TelefonoContrario2Tmp = value;
_TelefonoContrario2TmpEsNulo = false;
if (this.idEntidadContrarioNavigation != null) this.idEntidadContrarioNavigation.Telefono2 = value;
OnPropertyChanged("TelefonoContrario2Tmp");
}
}
private bool _EmailContrarioTmpEsNulo = true;
private string _EmailContrarioTmp;
public string EmailContrarioTmp
{
get
{
if (_EmailContrarioTmpEsNulo)
{
if (this.idEntidadContrarioNavigation == null) return "";
_EmailContrarioTmp = this.idEntidadContrarioNavigation.Email;
_EmailContrarioTmpEsNulo = false;
return _EmailContrarioTmp;
}
return _EmailContrarioTmp;
}
set
{
_EmailContrarioTmp = value;
_EmailContrarioTmpEsNulo = false;
if (this.idEntidadContrarioNavigation != null) this.idEntidadContrarioNavigation.Email = value;
OnPropertyChanged("EmailContrarioTmp");
}
}
public void ReiniciaValoresTMPContrario()
{
_CifContrarioTmpEsNulo = true;
_RazonSocialContrarioTmpEsNulo = true;
_CodigoPoblacionContrarioTmpEsNulo = true;
_CodigoPostalContrarioTmpEsNulo = true;
_DomicilioContrarioTmpEsNulo = true;
_TelefonoContrario1TmpEsNulo = true;
_TelefonoContrario2TmpEsNulo = true;
_EmailContrarioTmpEsNulo = true;
}
#endregion
#region Taller
private bool _CifTallerTmpEsNulo = true;
private string _CifTallerTmp;
public string CifTallerTmp
{
get
{
if (_CifTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation == null) return "";
_CifTallerTmp = this.idEntidadTallerNavigation.CIF;
_CifTallerTmpEsNulo = false;
return _CifTallerTmp;
}
return _CifTallerTmp;
}
set
{
_CifTallerTmp = value;
_CifTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation != null)
{
this.idEntidadTallerNavigation.CIF = string.IsNullOrEmpty(value) ? null : value;
}
OnPropertyChanged("CifTallerTmp");
OnPropertyChanged("RazonSocialTallerTmp");
OnPropertyChanged("CodigoPostalTallerTmp");
OnPropertyChanged("DomicilioTallerTmp");
OnPropertyChanged("CodigoPoblacionTallerTmp");
OnPropertyChanged("PoblacionTallerTmp");
OnPropertyChanged("ProvinciaTallerTmp");
OnPropertyChanged("TelefonoTallerTmp");
OnPropertyChanged("EmailTallerTmp");
}
}
private bool _RazonSocialTallerTmpEsNulo = true;
private string _RazonSocialTallerTmp;
public string RazonSocialTallerTmp
{
get
{
if (_RazonSocialTallerTmpEsNulo)
{
string rs = "";
if (string.IsNullOrEmpty(this.idEntidadTallerNavigation.RazonSocial))
{
rs = (this.idEntidadTallerNavigation.Apellidos + ", " + this.idEntidadTallerNavigation.Nombre).Trim().Trim(',');
}
else
{
rs = this.idEntidadTallerNavigation.RazonSocial;
}
_RazonSocialTallerTmpEsNulo = false;
_RazonSocialTallerTmp = rs;
return rs;
}
return _RazonSocialTallerTmp;
}
set
{
_RazonSocialTallerTmp = value;
_RazonSocialTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation != null)
{
this.idEntidadTallerNavigation.RazonSocial = value;
if (!string.IsNullOrEmpty(this.idEntidadTallerNavigation.CIF) && "1234567890X".Contains(this.idEntidadTallerNavigation.CIF.Substring(1, 1)) && value.Contains(","))
{
var parts = value.Split(',');
this.idEntidadTallerNavigation.Apellidos = parts[0].Trim();
if (parts.Length > 1) this.idEntidadTallerNavigation.Nombre = parts[1].Trim();
}
}
OnPropertyChanged("RazonSocialTallerTmp");
}
}
private bool _CodigoPostalTallerTmpEsNulo = true;
private string _CodigoPostalTallerTmp;
public string CodigoPostalTallerTmp
{
get
{
if (_CodigoPostalTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation?.DireccionPrincipal == null) return "";
_CodigoPostalTallerTmp = this.idEntidadTallerNavigation.DireccionPrincipal.CodigoPostal;
_CodigoPostalTallerTmpEsNulo = false;
return _CodigoPostalTallerTmp;
}
return _CodigoPostalTallerTmp;
}
set
{
_CodigoPostalTallerTmp = value;
_CodigoPostalTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation?.DireccionPrincipal != null)
{
this.idEntidadTallerNavigation.DireccionPrincipal.CodigoPostal = value;
}
OnPropertyChanged("CodigoPostalTallerTmp");
}
}
private bool _DomicilioTallerTmpEsNulo = true;
private string _DomicilioTallerTmp;
public string DomicilioTallerTmp
{
get
{
if (_DomicilioTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation?.DireccionPrincipal == null) return "";
_DomicilioTallerTmp = this.idEntidadTallerNavigation.DireccionPrincipal.Direccion;
_DomicilioTallerTmpEsNulo = false;
return _DomicilioTallerTmp;
}
return _DomicilioTallerTmp;
}
set
{
_DomicilioTallerTmp = value;
_DomicilioTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation?.DireccionPrincipal != null)
{
this.idEntidadTallerNavigation.DireccionPrincipal.Direccion = value;
}
OnPropertyChanged("DomicilioTallerTmp");
}
}
private bool _CodigoPoblacionTallerTmpEsNulo = true;
private string _CodigoPoblacionTallerTmp;
public string CodigoPoblacionTallerTmp
{
get
{
if (_CodigoPoblacionTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation?.DireccionPrincipal == null) return "";
if (this.idEntidadTallerNavigation.DireccionPrincipal.CodigoMunicipioNavigation == null && !string.IsNullOrEmpty(this.idEntidadTallerNavigation.DireccionPrincipal.CodigoPostal))
{
using (var bd =tscgestionasegasa.NuevoContexto())
{
var pob = bd.codigospostales.FirstOrDefault(x => x.CodigoPostal == this.idEntidadTallerNavigation.DireccionPrincipal.CodigoPostal);
if (pob != null)
{
this.idEntidadTallerNavigation.DireccionPrincipal.CodigoMunicipio = pob.CodigoMunicipio;
_CodigoPoblacionTallerTmp = pob.CodigoMunicipio;
_CodigoPoblacionTallerTmpEsNulo = false;
return _CodigoPoblacionTallerTmp;
}
}
}
_CodigoPoblacionTallerTmp = this.idEntidadTallerNavigation.DireccionPrincipal.CodigoMunicipio;
_CodigoPoblacionTallerTmpEsNulo = false;
return _CodigoPoblacionTallerTmp;
}
return _CodigoPoblacionTallerTmp;
}
set
{
_CodigoPoblacionTallerTmp = value;
_CodigoPoblacionTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation?.DireccionPrincipal != null)
{
this.idEntidadTallerNavigation.DireccionPrincipal.CodigoMunicipio = value;
}
OnPropertyChanged("CodigoPoblacionTallerTmp");
OnPropertyChanged("PoblacionTallerTmp");
OnPropertyChanged("ProvinciaTallerTmp");
}
}
public string PoblacionTallerTmp
{
get
{
return municipios.ObtienePoblacion(CodigoPoblacionTallerTmp);
}
}
public string ProvinciaTallerTmp
{
get
{
return municipios.ObtieneProvincia(CodigoPoblacionTallerTmp);
}
}
private bool _TelefonoTallerTmpEsNulo = true;
private string _TelefonoTallerTmp;
public string TelefonoTallerTmp
{
get
{
if (_TelefonoTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation == null) return "";
_TelefonoTallerTmp = this.idEntidadTallerNavigation.Telefono1;
_TelefonoTallerTmpEsNulo = false;
return _TelefonoTallerTmp;
}
return _TelefonoTallerTmp;
}
set
{
_TelefonoTallerTmp = value;
_TelefonoTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation != null) this.idEntidadTallerNavigation.Telefono1 = value;
OnPropertyChanged("TelefonoTallerTmp");
}
}
private bool _EmailTallerTmpEsNulo = true;
private string _EmailTallerTmp;
public string EmailTallerTmp
{
get
{
if (_EmailTallerTmpEsNulo)
{
if (this.idEntidadTallerNavigation == null) return "";
_EmailTallerTmp = this.idEntidadTallerNavigation.Email;
_EmailTallerTmpEsNulo = false;
return _EmailTallerTmp;
}
return _EmailTallerTmp;
}
set
{
_EmailTallerTmp = value;
_EmailTallerTmpEsNulo = false;
if (this.idEntidadTallerNavigation != null) this.idEntidadTallerNavigation.Email = value;
OnPropertyChanged("EmailTallerTmp");
}
}
public void ReiniciaValoresTMPTaller()
{
_CifTallerTmpEsNulo = true;
_RazonSocialTallerTmpEsNulo = true;
_CodigoPoblacionTallerTmpEsNulo = true;
_CodigoPostalTallerTmpEsNulo = true;
_DomicilioTallerTmpEsNulo = true;
_TelefonoTallerTmpEsNulo = true;
_EmailTallerTmpEsNulo = true;
}
#endregion
public static void GuardandoCambios(tscgestionasegasa bd)
{
var addedEntries = bd.ChangeTracker.Entries<gestionessiniestros>()
.Where(e => e.State == EntityState.Added);
AsignaidUsuarioCreadorGestionesSiniestros(bd, addedEntries);
var modifiedEntries = bd.ChangeTracker.Entries<gestionessiniestros>()
.Where(e => e.State == EntityState.Modified);
AsignaidUsuarioModificadorGestionesSiniestros(bd, modifiedEntries);
}
private static void AsignaidUsuarioCreadorGestionesSiniestros(tscgestionasegasa bd, IEnumerable<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<gestionessiniestros>> entries)
{
if (entries.Any() && bdAsegasa.db.Utilidades.dsc.idUsuario > 0)
{
var ahora = DateTime.Now;
foreach (var entry in entries)
{
var r = entry.Entity;
r.idUsuarioCreador = bdAsegasa.db.Utilidades.dsc.idUsuario;
r.idUsuarioModificador = bdAsegasa.db.Utilidades.dsc.idUsuario;
r.FechaModificacion = ahora;
}
}
}
private static void AsignaidUsuarioModificadorGestionesSiniestros(tscgestionasegasa bd, IEnumerable<Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry<gestionessiniestros>> entries)
{
if (entries.Any() && bdAsegasa.db.Utilidades.dsc.idUsuario > 0)
{
var ahora = DateTime.Now;
foreach (var entry in entries)
{
var r = entry.Entity;
r.idUsuarioModificador = bdAsegasa.db.Utilidades.dsc.idUsuario;
r.FechaModificacion = ahora;
}
}
}
}
}