agregado procesos y bd clases
This commit is contained in:
331
bdAsegasa/Extensiones/entidades.cs
Normal file
331
bdAsegasa/Extensiones/entidades.cs
Normal file
@@ -0,0 +1,331 @@
|
||||
using bdAsegasa.dbcontext;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace bdAsegasa.db
|
||||
{
|
||||
public partial class entidades : INotifyPropertyChanged
|
||||
{
|
||||
public event PropertyChangedEventHandler PropertyChanged;
|
||||
protected virtual void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
||||
|
||||
public bool UltimoReciboDevueltoFaltaPago(string codigoRamo)
|
||||
{
|
||||
if (this.idEntidad == 0) return false;
|
||||
using (var bd = tscgestionasegasa.NuevoContexto())
|
||||
{
|
||||
var ramo = bd.ramos.FirstOrDefault(x => x.Codigo == codigoRamo);
|
||||
if (ramo == null) return false;
|
||||
|
||||
var idfp = bd.enumeraciones.FirstOrDefault(x => x.Codigo == "CABA.FP")?.idEnumeracion;
|
||||
if (!idfp.HasValue) return false;
|
||||
|
||||
var rec = bd.entidadespolizas
|
||||
.Where(x => x.idEntidad == this.idEntidad)
|
||||
.Select(x => x.idPolizaNavigation)
|
||||
.Where(x => x.idRamo == ramo.idRamo)
|
||||
.SelectMany(x => x.recibos)
|
||||
.OrderByDescending(x => x.FechaEfecto)
|
||||
.FirstOrDefault();
|
||||
|
||||
return rec?.idCausaBaja == idfp;
|
||||
}
|
||||
}
|
||||
|
||||
public string Sexo => this.idSexoNavigation?.Descripcion ?? "* Desconocido *";
|
||||
|
||||
public direcciones DireccionPrincipal
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.idDireccionPrincipal.HasValue && this.idDireccionPrincipal.Value > 0)
|
||||
{
|
||||
return this.direcciones.FirstOrDefault(x => x.idDireccion == this.idDireccionPrincipal.Value);
|
||||
}
|
||||
var correo = this.direcciones.FirstOrDefault(x => x.idTipoNavigation?.Codigo == "TIPDIR.CORREO");
|
||||
return correo ?? this.direcciones.FirstOrDefault();
|
||||
}
|
||||
}
|
||||
|
||||
private string _codigoPostalTmp;
|
||||
private bool _codigoPostalTmpEsNulo = true;
|
||||
public string CodigoPostalTmp
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_codigoPostalTmpEsNulo)
|
||||
{
|
||||
_codigoPostalTmp = DireccionPrincipal?.CodigoPostal ?? "";
|
||||
_codigoPostalTmpEsNulo = false;
|
||||
}
|
||||
return _codigoPostalTmp;
|
||||
}
|
||||
set
|
||||
{
|
||||
_codigoPostalTmp = value;
|
||||
_codigoPostalTmpEsNulo = false;
|
||||
if (DireccionPrincipal != null) DireccionPrincipal.CodigoPostal = value;
|
||||
OnPropertyChanged(nameof(CodigoPostalTmp));
|
||||
}
|
||||
}
|
||||
|
||||
private string _domicilioTmp;
|
||||
private bool _domicilioTmpEsNulo = true;
|
||||
public string DomicilioTmp
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_domicilioTmpEsNulo)
|
||||
{
|
||||
_domicilioTmp = DireccionPrincipal?.Direccion ?? "";
|
||||
_domicilioTmpEsNulo = false;
|
||||
}
|
||||
return _domicilioTmp;
|
||||
}
|
||||
set
|
||||
{
|
||||
_domicilioTmp = value;
|
||||
_domicilioTmpEsNulo = false;
|
||||
if (DireccionPrincipal != null) DireccionPrincipal.Direccion = value;
|
||||
OnPropertyChanged(nameof(DomicilioTmp));
|
||||
}
|
||||
}
|
||||
|
||||
private string _codigoPoblacionTmp;
|
||||
private bool _codigoPoblacionTmpEsNulo = true;
|
||||
public string CodigoPoblacionTmp
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_codigoPoblacionTmpEsNulo)
|
||||
{
|
||||
if (DireccionPrincipal == null || DireccionPrincipal.CodigoMunicipioNavigation == null)
|
||||
{
|
||||
if (DireccionPrincipal != null && DireccionPrincipal.CodigoMunicipioNavigation == null)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(DireccionPrincipal.CodigoPostal))
|
||||
{
|
||||
using var bd = bdAsegasa.tscgestionasegasa.NuevoContexto();
|
||||
var pob = bd.codigospostales.FirstOrDefault(x => x.CodigoPostal == DireccionPrincipal.CodigoPostal);
|
||||
if (pob == null)
|
||||
{
|
||||
return "CP.ERRONEO";
|
||||
}
|
||||
else
|
||||
{
|
||||
DireccionPrincipal.CodigoMunicipio = pob.CodigoMunicipio;
|
||||
_codigoPoblacionTmp = pob.CodigoMunicipio;
|
||||
_codigoPoblacionTmpEsNulo = false;
|
||||
return _codigoPoblacionTmp;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_codigoPoblacionTmp = DireccionPrincipal.CodigoMunicipio;
|
||||
_codigoPoblacionTmpEsNulo = false;
|
||||
return DireccionPrincipal.CodigoMunicipio;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return _codigoPoblacionTmp;
|
||||
}
|
||||
}
|
||||
set
|
||||
{
|
||||
_codigoPoblacionTmp = value;
|
||||
_codigoPoblacionTmpEsNulo = false;
|
||||
if (DireccionPrincipal != null) DireccionPrincipal.CodigoMunicipio = value;
|
||||
OnPropertyChanged(nameof(CodigoPoblacionTmp));
|
||||
|
||||
using var bd = bdAsegasa.tscgestionasegasa.NuevoContexto();
|
||||
var mun = bd.municipios.FirstOrDefault(x => x.CodigoMunicipio == _codigoPoblacionTmp);
|
||||
ProvinciaTmp = mun?.CodigoProvinciaNavigation?.Nombre ?? "";
|
||||
PoblacionTmp = mun?.Nombre ?? "";
|
||||
}
|
||||
}
|
||||
|
||||
private string _poblacionTmp;
|
||||
private bool _poblacionTmpEsNulo = true;
|
||||
public string PoblacionTmp
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_poblacionTmpEsNulo)
|
||||
{
|
||||
using var bd = bdAsegasa.tscgestionasegasa.NuevoContexto();
|
||||
var mun = bd.municipios.FirstOrDefault(x => x.CodigoMunicipio == CodigoPoblacionTmp);
|
||||
_poblacionTmp = mun?.Nombre ?? "";
|
||||
_poblacionTmpEsNulo = false;
|
||||
}
|
||||
return _poblacionTmp;
|
||||
}
|
||||
set
|
||||
{
|
||||
_poblacionTmp = value;
|
||||
_poblacionTmpEsNulo = false;
|
||||
OnPropertyChanged(nameof(PoblacionTmp));
|
||||
}
|
||||
}
|
||||
|
||||
private string _provinciaTmp;
|
||||
private bool _provinciaTmpEsNulo = true;
|
||||
public string ProvinciaTmp
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_provinciaTmpEsNulo)
|
||||
{
|
||||
using var bd = bdAsegasa.tscgestionasegasa.NuevoContexto();
|
||||
var mun = bd.municipios.FirstOrDefault(x => x.CodigoMunicipio == CodigoPoblacionTmp);
|
||||
_provinciaTmp = mun?.CodigoProvinciaNavigation?.Nombre ?? "";
|
||||
_provinciaTmpEsNulo = false;
|
||||
}
|
||||
return _provinciaTmp;
|
||||
}
|
||||
set
|
||||
{
|
||||
_provinciaTmp = value;
|
||||
_provinciaTmpEsNulo = false;
|
||||
OnPropertyChanged(nameof(ProvinciaTmp));
|
||||
}
|
||||
}
|
||||
|
||||
public string FechaNacimientoSinHora => this.FechaNacimiento?.ToString("dd/MM/yyyy") ?? "";
|
||||
public string FechaExpCarnetSinHora => this.FechaExpedicionCarnet?.ToString("dd/MM/yyyy") ?? "";
|
||||
|
||||
public static void GuardandoCambios(tscgestionasegasa bd, string aplicacion)
|
||||
{
|
||||
var modifiedEnts = bd.ChangeTracker.Entries<entidades>()
|
||||
.Where(e => e.State == Microsoft.EntityFrameworkCore.EntityState.Modified);
|
||||
|
||||
foreach (var entry in modifiedEnts)
|
||||
{
|
||||
var ent = entry.Entity;
|
||||
if (!string.IsNullOrEmpty(ent.CIF))
|
||||
{
|
||||
ent.CIF = Regex.Replace(ent.CIF, "[^a-zA-Z0-9]", "").ToUpper();
|
||||
}
|
||||
// Legacy logging logic can be implemented here if needed
|
||||
}
|
||||
}
|
||||
|
||||
public virtual List<EntidadRelacionada> RelacionesEntreEntidades
|
||||
{
|
||||
get
|
||||
{
|
||||
var entsh = this.entidadesrelacionadasidEntidadPadreNavigation.Select(x => new EntidadRelacionada {
|
||||
RazonSocial = x.idEntidadHijoNavigation.RazonSocial,
|
||||
TipoRelacion = EntidadRelacionada.TipoRelacionEntidadEnum.ES_HIJA,
|
||||
CIF = x.idEntidadHijoNavigation.CIF,
|
||||
EntRel = x
|
||||
}).ToList();
|
||||
|
||||
var entsp = this.entidadesrelacionadasidEntidadHijoNavigation.Select(x => new EntidadRelacionada {
|
||||
RazonSocial = x.idEntidadPadreNavigation.RazonSocial,
|
||||
TipoRelacion = EntidadRelacionada.TipoRelacionEntidadEnum.ES_PADRE,
|
||||
CIF = x.idEntidadPadreNavigation.CIF,
|
||||
EntRel = x
|
||||
}).ToList();
|
||||
|
||||
return entsh.Union(entsp).OrderBy(x => x.RazonSocial).ToList();
|
||||
}
|
||||
}
|
||||
|
||||
[NotMapped]
|
||||
public class EntidadRelacionada
|
||||
{
|
||||
public int idEntidad { get; set; }
|
||||
public string CIF { get; set; }
|
||||
public TipoRelacionEntidadEnum TipoRelacion { get; set; }
|
||||
public string DescripcionTipoRelacion => TipoRelacion.ToString().Replace("_", " ");
|
||||
public string RazonSocial { get; set; }
|
||||
public enum TipoRelacionEntidadEnum { ES_HIJA, ES_PADRE }
|
||||
public virtual entidadesrelacionadas EntRel { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
public class ve_entidades
|
||||
{
|
||||
public int idEntidad { get; set; }
|
||||
public string CIF { get; set; }
|
||||
public string RazonSocial { get; set; }
|
||||
public DateOnly? FechaNacimiento { get; set; }
|
||||
public string Direccion { get; set; }
|
||||
public string Poblacion { get; set; }
|
||||
public string Provincia { get; set; }
|
||||
public string Telefono1 { get; set; }
|
||||
public string email { get; set; }
|
||||
public bool EsTaller { get; set; }
|
||||
public bool EsClienteSG { get; set; }
|
||||
public bool EsClienteSA { get; set; }
|
||||
public bool EsContrarioSiniestro { get; set; }
|
||||
|
||||
public string PoblacionYProvincia
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.Provincia == this.Poblacion)
|
||||
{
|
||||
return this.Poblacion;
|
||||
}
|
||||
else
|
||||
{
|
||||
return this.Poblacion + " (" + this.Provincia + ")";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ve_entidades_venta_cruzada
|
||||
{
|
||||
public int idEntidad { get; set; }
|
||||
public string CIF { get; set; }
|
||||
public string RazonSocial { get; set; }
|
||||
public string Telefono1 { get; set; }
|
||||
public string Telefono2 { get; set; }
|
||||
public DateOnly? FechaNacimientoTomador { get; set; }
|
||||
public string TelefonoMovilValido { get; set; }
|
||||
public string Email { get; set; }
|
||||
public int NumeroPolizas { get; set; }
|
||||
public int idAgente { get; set; }
|
||||
public string Agente { get; set; }
|
||||
public int? idSubagente { get; set; }
|
||||
public string SubAgente { get; set; }
|
||||
public string TlfAgente { get; set; }
|
||||
public string EmailAgente { get; set; }
|
||||
public string TlfSubAgente { get; set; }
|
||||
public string EmailSubAgente { get; set; }
|
||||
public int NumeroCorreosVentaCruzada { get; set; }
|
||||
public string Compañías { get; set; }
|
||||
|
||||
public string TelefonoSubAgenteAgente
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!string.IsNullOrEmpty(TlfSubAgente))
|
||||
{
|
||||
return TlfSubAgente;
|
||||
}
|
||||
else
|
||||
{
|
||||
return TlfAgente;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user