using System; using System.Collections.Generic; using System.Linq; using bdAsegasa.dbcontext; namespace bdAsegasa.db { public partial class companias { public direcciones Direccion => (this.idDireccion.HasValue && this.idDireccion.Value > 0) ? this.idDireccionNavigation : null; private string _codigoPostalTmp; private bool _codigoPostalTmpEsNulo = true; public string CodigoPostalTmp { get { if (_codigoPostalTmpEsNulo) { _codigoPostalTmp = Direccion?.CodigoPostal ?? ""; _codigoPostalTmpEsNulo = false; } return _codigoPostalTmp; } set { _codigoPostalTmp = value; _codigoPostalTmpEsNulo = false; if (Direccion != null) Direccion.CodigoPostal = value; } } private string _domicilioTmp; private bool _domicilioTmpEsNulo = true; public string DomicilioTmp { get { if (_domicilioTmpEsNulo) { _domicilioTmp = Direccion?.Direccion ?? ""; _domicilioTmpEsNulo = false; } return _domicilioTmp; } set { _domicilioTmp = value; _domicilioTmpEsNulo = false; if (Direccion != null) Direccion.Direccion = value; } } private string _codigoPoblacionTmp; private bool _codigoPoblacionTmpEsNulo = true; public string CodigoPoblacionTmp { get { if (_codigoPoblacionTmpEsNulo) { if (Direccion == null || Direccion.CodigoMunicipioNavigation == null) { if (Direccion != null && !string.IsNullOrEmpty(Direccion.CodigoPostal)) { using (var bd = tscgestionasegasa.NuevoContexto()) { var cp = bd.codigospostales.FirstOrDefault(x => x.CodigoPostal == Direccion.CodigoPostal); if (cp != null) { _codigoPoblacionTmp = cp.CodigoMunicipio; _codigoPoblacionTmpEsNulo = false; return _codigoPoblacionTmp; } return "CP.ERRONEO"; } } return ""; } else { _codigoPoblacionTmp = Direccion.CodigoMunicipio; _codigoPoblacionTmpEsNulo = false; } } return _codigoPoblacionTmp; } set { _codigoPoblacionTmp = value; _codigoPoblacionTmpEsNulo = false; if (Direccion != null) Direccion.CodigoMunicipio = value; } } public string DescripcionFormaLiquidacion => ((FormaLiquidacionEnum)(this.FormaLiquidacion)).ToString(); public string CodigoNombre => $"{this.Codigo} {this.Nombre}"; public enum FormaLiquidacionEnum { TRANSFERENCIA = 0, RECIBO = 1 } public static List ListadoFormaLiquidacion() { return Enum.GetValues(typeof(FormaLiquidacionEnum)) .Cast() .Select(e => new FormaLiquidacion { id = (int)e, Descripcion = e.ToString() }) .ToList(); } } public class FormaLiquidacion { public int id { get; set; } public string Descripcion { get; set; } } }