using bdAntifraude.dbcontext;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace bdAntifraude.db
{
    [NotMapped]
    public partial class NOMINATRABAJADORCABECERA
    {
        [NotMapped]
        public decimal TOTALSEGURIDADSOCIALPAGOENESPECIE
        {
            get
            {
                return TOTALSSPAGOENESPECIE;
            }
            set
            {
                this.TOTALSSPAGOENESPECIE = (decimal)value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO200IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO200IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO200IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO200IMPORTE;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "705" || x.IDTIPOTRAMONavigation?.CODIGO == "706" || x.IDTIPOTRAMONavigation?.CODIGO == "707" || x.IDTIPOTRAMONavigation?.CODIGO == "708" || x.IDTIPOTRAMONavigation?.CODIGO == "709" || x.IDTIPOTRAMONavigation?.CODIGO == "710" || x.IDTIPOTRAMONavigation?.CODIGO == "711" || x.IDTIPOTRAMONavigation?.CODIGO == "712" || x.IDTIPOTRAMONavigation?.CODIGO == "713").Sum(x => (double)x.IMPORTE);
                }
            }
            set
            {
                _SUMACONCEPTO200IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO200IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO200IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO200IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO200IMPORTEGLOBAL;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "705" || x.IDTIPOTRAMONavigation?.CODIGO == "706" || x.IDTIPOTRAMONavigation?.CODIGO == "707" || x.IDTIPOTRAMONavigation?.CODIGO == "708" || x.IDTIPOTRAMONavigation?.CODIGO == "709" || x.IDTIPOTRAMONavigation?.CODIGO == "710" || x.IDTIPOTRAMONavigation?.CODIGO == "711" || x.IDTIPOTRAMONavigation?.CODIGO == "712" || x.IDTIPOTRAMONavigation?.CODIGO == "713").Sum(x => (double)x.IMPORTEGLOBAL);
                }
            }
            set
            {
                _SUMACONCEPTO200IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO200IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO200IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO200IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO200IMPORTEEMPRESA;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x =>   x.IDTIPOTRAMONavigation?.CODIGO == "705" || x.IDTIPOTRAMONavigation?.CODIGO == "706" || x.IDTIPOTRAMONavigation?.CODIGO == "707" || x.IDTIPOTRAMONavigation?.CODIGO == "708" || x.IDTIPOTRAMONavigation?.CODIGO == "709" || x.IDTIPOTRAMONavigation?.CODIGO == "710" || x.IDTIPOTRAMONavigation?.CODIGO == "711" || x.IDTIPOTRAMONavigation?.CODIGO == "712" || x.IDTIPOTRAMONavigation?.CODIGO == "713").Sum(x => (double)x.IMPORTEEMPRESA);
                }
            }
            set
            {
                _SUMACONCEPTO200IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO200IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO200IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO200IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO200IMPORTETRABAJADOR;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "705" || x.IDTIPOTRAMONavigation?.CODIGO == "706" || x.IDTIPOTRAMONavigation?.CODIGO == "707" || x.IDTIPOTRAMONavigation?.CODIGO == "708" || x.IDTIPOTRAMONavigation?.CODIGO == "709" || x.IDTIPOTRAMONavigation?.CODIGO == "710" || x.IDTIPOTRAMONavigation?.CODIGO == "711" || x.IDTIPOTRAMONavigation?.CODIGO == "712" || x.IDTIPOTRAMONavigation?.CODIGO == "713").Sum(x => (double)x.IMPORTETRABAJADOR);
                }
            }
            set
            {
                _SUMACONCEPTO200IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO500IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO500IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO500IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO500IMPORTE;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => (double)x.IMPORTE);
                }
            }
            set
            {
                _SUMACONCEPTO500IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO500BASETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO500BASETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO500BASETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO500BASETRABAJADOR;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509" && x.PORCENTAJETRABAJADOR > 0).Sum(x => (double)x.IMPORTE);
                }
            }
            set
            {
                _SUMACONCEPTO500BASETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO500IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO500IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO500IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO500IMPORTEGLOBAL;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => (double)x.IMPORTEGLOBAL);
                }
            }
            set
            {
                _SUMACONCEPTO500IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO500IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO500IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO500IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO500IMPORTEEMPRESA;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => (double)x.IMPORTEEMPRESA);
                }
            }
            set
            {
                _SUMACONCEPTO500IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO500IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO500IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO500IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO500IMPORTETRABAJADOR;
                }
                else
                {
                    return this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => (double)x.IMPORTETRABAJADOR);
                }
            }
            set
            {
                _SUMACONCEPTO500IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double CONCEPTO500PORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").ToList().Count > 0)
                {
                    var Por = this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").First().PORCENTAJEEMPRESA;

                    return decimal.ToDouble(Por);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double CONCEPTO500PORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    var Por = this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "500" || x.IDTIPOTRAMONavigation?.CODIGO == "509").First().PORCENTAJETRABAJADOR;

                    return decimal.ToDouble(Por);
                }
                else
                {
                    return 0d;
                }


            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO509IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO509IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO509IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO509IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO509IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO509IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO509IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO509IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO509IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO509IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO509IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO509IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO509IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO509IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO509IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO509IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO509IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO509IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO509IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "509").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO509IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO551IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO551IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO551IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO551IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "551").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO551IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO551IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO551IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO551IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO551IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "551").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO551IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO551IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO551IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO551IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO551IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "551").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO551IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO563IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO563IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO563IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO563IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "563").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO563IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO571IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO571IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO571IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO571IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "571").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO571IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO571IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO571IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO571IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO571IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "571").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO571IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO571IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO571IMPORTETRABAJADOR
        {
            get
            {
                double SUMACONCEPTO571IMPORTETRABAJADORRet = default;
                if (_SUMACONCEPTO571IMPORTETRABAJADOR.HasValue)
                {
                    return SUMACONCEPTO571IMPORTETRABAJADORRet;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "571").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO571IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO598IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO598IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO598IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO598IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "598").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO598IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO598IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO598IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO598IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO598IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "598").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO598IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO598IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO598IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO598IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO598IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "598").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO598IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO601IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO601IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO601IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO601IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" ||  x.IDTIPOTRAMONavigation?.CODIGO == "603").Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO601IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO601IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO601IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO601IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO601IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" || x.IDTIPOTRAMONavigation?.CODIGO == "603").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO601IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO601IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO601IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO601IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO601IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" || x.IDTIPOTRAMONavigation?.CODIGO == "603").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO601IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO601IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO601IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO601IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO601IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" || x.IDTIPOTRAMONavigation?.CODIGO == "603").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO601IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO611IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO611IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO611IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO611IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "611" || x.IDTIPOTRAMONavigation?.CODIGO == "613").Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO611IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO611IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO611IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO611IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO611IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "611" || x.IDTIPOTRAMONavigation?.CODIGO == "613").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO611IMPORTEGLOBAL = value;

            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO611IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO611IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO611IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO611IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "611" || x.IDTIPOTRAMONavigation?.CODIGO == "613").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO611IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO611IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO611IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO611IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO611IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "611" || x.IDTIPOTRAMONavigation?.CODIGO == "613").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO611IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double ATYEPPORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "603" || x.IDTIPOTRAMONavigation?.CODIGO == "613").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "603" || x.IDTIPOTRAMONavigation?.CODIGO == "613").Sum(x => x.PORCENTAJEEMPRESA));
                }
                else if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" || x.IDTIPOTRAMONavigation?.CODIGO == "611").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "601" || x.IDTIPOTRAMONavigation?.CODIGO == "611").ToList().Sum(x => x.PORCENTAJEEMPRESA));
                }

                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double ATYEPPORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "603" || x.IDTIPOTRAMONavigation?.CODIGO == "613").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "603" || x.IDTIPOTRAMONavigation?.CODIGO == "613").ToList().Sum(x => x.PORCENTAJETRABAJADOR));
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO663IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO663IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO663IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO663IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "663").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO663IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO698IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO698IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO698IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO698IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "698").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO698IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO698IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO698IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO698IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO698IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "698").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO698IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO698IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO698IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO698IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO698IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "698").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO698IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO700IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO700IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO700IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO700IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO700IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO700IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO700IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO700IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO700IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701" || x.IDTIPOTRAMONavigation?.CODIGO == "702" || x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO700IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO700IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO700IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO700IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO700IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701" || x.IDTIPOTRAMONavigation?.CODIGO == "702" || x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO700IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO700IMPORTETRABAJADOR; 
        [NotMapped]
        public double SUMACONCEPTO700IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO700IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO700IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701" || x.IDTIPOTRAMONavigation?.CODIGO == "702" || x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO700IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]

        private double? _SUMACONCEPTO701IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO701IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO701IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO701IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO701IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO701IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO701IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO701IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO701IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO701IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO701IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO701IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO701IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO701IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO701IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO702IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO702IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO702IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO702IMPORTEGLOBAL;
                }
                else
                {   
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO702IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO702IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO702IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO702IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO702IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO702IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO702IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO702IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO702IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO702IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO702IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO703IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO703IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO703IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO703IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO703IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO703IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO703IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO703IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO703IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO703IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO703IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO703IMPORTETRABAJADOR
        {
            get
            {
                double SUMACONCEPTO703IMPORTETRABAJADORRet = default;
                if (_SUMACONCEPTO703IMPORTETRABAJADOR.HasValue)
                {
                    return SUMACONCEPTO703IMPORTETRABAJADORRet;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO703IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO555IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO555IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO555IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO555IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO555IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO555IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO555IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO555IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO555IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO555IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO555IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO555IMPORTETRABAJADOR
        {
            get
            {
                double SUMACONCEPTO555IMPORTETRABAJADORRet = default;
                if (_SUMACONCEPTO555IMPORTETRABAJADOR.HasValue)
                {
                    return SUMACONCEPTO555IMPORTETRABAJADORRet;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO555IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double DESEMPLEOPORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double DESEMPLEOPORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "701").ToList().First().PORCENTAJETRABAJADOR);
                }

                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double FOGASAPORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double FOGASAPORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "702").ToList().First().PORCENTAJETRABAJADOR);
                }

                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double FPPORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double FPPORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "703" && x.PORCENTAJETRABAJADOR > 0).ToList().ToList().First().PORCENTAJETRABAJADOR);
                }

                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double MEIPORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555"|| x.IDTIPOTRAMONavigation?.CODIGO == "557").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double MEIPORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "555" || x.IDTIPOTRAMONavigation?.CODIGO == "557" && x.PORCENTAJETRABAJADOR > 0).ToList().First().PORCENTAJETRABAJADOR);
                }

                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO798IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO798IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO798IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO798IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "798").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO798IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO798IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO798IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO798IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO798IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "798").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO798IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO798IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO798IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO798IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO798IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "798").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO798IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO998IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO998IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO998IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO998IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "998").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO998IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO998IMPORTEGLOBALPOS;
        [NotMapped]
        public double SUMACONCEPTO998IMPORTEGLOBALPOS
        {
            get
            {
                double IMPORTEASUMAR = 0d;
                if (_SUMACONCEPTO663IMPORTE.HasValue)
                {
                    IMPORTEASUMAR = (double)(IMPORTEASUMAR + _SUMACONCEPTO663IMPORTE);
                }
                else
                {
                    IMPORTEASUMAR = IMPORTEASUMAR + decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "663").Sum(x => x.IMPORTEEMPRESA));
                }
                if (_SUMACONCEPTO563IMPORTE.HasValue)
                {
                    IMPORTEASUMAR = (double)(IMPORTEASUMAR + _SUMACONCEPTO563IMPORTE);
                }
                else
                {
                    IMPORTEASUMAR = IMPORTEASUMAR + decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "563").Sum(x => x.IMPORTEEMPRESA));
                }
                if (_SUMACONCEPTO998IMPORTEGLOBAL.HasValue)
                {

                    return (double)(_SUMACONCEPTO998IMPORTEGLOBAL + IMPORTEASUMAR);
                }

                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "998").Sum(x => x.IMPORTEGLOBAL)) + IMPORTEASUMAR;
                }
            }
            set
            {
                _SUMACONCEPTO998IMPORTEGLOBALPOS = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO998IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO998IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO998IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO998IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "998").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO998IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO998IMPORTEEMPRESAPOS;
        [NotMapped]
        public double SUMACONCEPTO998IMPORTEEMPRESAPOS
        {
            get
            {
                double IMPORTEASUMAR = 0d;
                if (_SUMACONCEPTO663IMPORTE.HasValue)
                {
                    IMPORTEASUMAR = (double)(IMPORTEASUMAR + _SUMACONCEPTO663IMPORTE);
                }
                else
                {
                    IMPORTEASUMAR = IMPORTEASUMAR + decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "663").Sum(x => x.IMPORTEEMPRESA));
                }
                if (_SUMACONCEPTO563IMPORTE.HasValue)
                {
                    IMPORTEASUMAR = (double)(IMPORTEASUMAR + _SUMACONCEPTO563IMPORTE);
                }
                else
                {
                    IMPORTEASUMAR = IMPORTEASUMAR + decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "563").Sum(x => x.IMPORTEEMPRESA));
                }
                if (_SUMACONCEPTO998IMPORTEEMPRESA.HasValue)
                {

                    return (double)(_SUMACONCEPTO998IMPORTEEMPRESA + IMPORTEASUMAR);
                }

                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "998").Sum(x => x.IMPORTEEMPRESA)) + IMPORTEASUMAR;
                }
            }
            set
            {
                _SUMACONCEPTO998IMPORTEEMPRESAPOS = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO998IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO998IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO998IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO998IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "998").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO998IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public ENUMERACIONES MUTUA
        {
            get
            {
                return this.IDMUTUANavigation;
            }
            set
            {
                this.IDMUTUANavigation = value;
            }
        }
        [NotMapped]
        public ENUMERACIONES MUTUA2
        {
            get
            {
                return this.IDMUTUA2Navigation;
            }
            set
            {
                this.IDMUTUA2Navigation = value;
            }
        }
        [NotMapped]
        public ENUMERACIONES SINDICATO1
        {
            get
            {
                return this.IDSINDICATO1Navigation;
            }
            set
            {
                this.IDSINDICATO1Navigation = value;
            }
        }
        [NotMapped]
        public ENUMERACIONES SINDICATO2
        {
            get
            {
                return this.IDSINDICATO2Navigation;
            }
            set
            {
                this.IDSINDICATO2Navigation = value;
            }
        }
        [NotMapped]
        public ENUMERACIONES TIPOPERSONA
        {
            get
            {
                return this.IDTIPOPERSONANavigation;
            }
            set
            {
                this.IDTIPOPERSONANavigation = value;
            }
        }
        [NotMapped]
        public double PagoEspeciePrestamo
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORPAGOESPECIE.Where(x => x.DESCRIPCION == "PRESTAMO").Sum(x => x.IMPORTE));
            }
        }
        [NotMapped]
        public double PagoSeguroAccidente
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORPAGOESPECIE.Where(x => x.DESCRIPCION == "SEGURO ACCIDENTE").Sum(x => x.IMPORTE));
            }
        }
        [NotMapped]
        public double TOTALCUOTAPAGOESPECIE
        {
            get
            {
                
                return (double)(this.NOMINATRABAJADORPAGOESPECIE.Sum(x => x.CUOTA));
            }
        }
        [NotMapped]

        public double SUMABASEIRPF
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORLINEA.Where(x => x.IDCONCEPTOGENERALNavigation.DESCRIPCION == "IRPF").Sum(x => x.IMPORTE));
            }
        }
        [NotMapped]
        public double SUMACUOTAIRPF
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORLINEA.Where(x => x.IDCONCEPTOGENERALNavigation.DESCRIPCION == "IRPF").Sum(x => x.TOTALDEDUCCIONES));
            }
        }
        [NotMapped]
        public double IMPORTEDERECHOSPASIVOS
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORLINEA.Where(x => x.IDCONCEPTOGENERALNavigation.DESCRIPCION.Contains("PASIVOS")).Sum(x => x.IMPORTE));
            }
        }
        [NotMapped]
        public double IMPORTEMUFACEMUGEJU
        {
            get
            {
                return decimal.ToDouble(this.NOMINATRABAJADORLINEA.Where(x => x.IDCONCEPTOGENERALNavigation.DESCRIPCION.Contains("COTIZACION MUTUA")).Sum(x => x.IMPORTE));
            }
        }
        [NotMapped]
        public double? IMPORTESEGURO
        {
            get
            {
                if (this.IDPERSONANavigation != null)
                {
return (double)(this.IDPERSONANavigation.SEGUROACCIDENTE);
                }
                else
                {
                    return 0; 
                }
                
                
            }
        }
        [NotMapped]
        private bool? _ExisteFichero;
        //public bool ExisteFichero
        //{
        //    get
        //    {
        //        if (_ExisteFichero.HasValue == false)
        //        {
        //            _ExisteFichero = Utilidades.CompruebaFicheroNomina(this);
        //        }
        //        return (bool)_ExisteFichero;
        //    }
        //    set
        //    {
        //        if (_ExisteFichero.HasValue == false)
        //        {
        //            _ExisteFichero = Utilidades.CompruebaFicheroNomina(this);
        //        }
        //        else
        //        {
        //            _ExisteFichero = value;
        //        }
        //    }
        //}
        public double CONCEPTO497PORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double CONCEPTO497PORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497" && x.PORCENTAJETRABAJADOR > 0).ToList().First().PORCENTAJETRABAJADOR);
                }
                else
                {
                    return 0d;
                }


            }
        }
        [NotMapped]

        private double? _SUMACONCEPTO497IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO497IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO497IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO497IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO497IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO497IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO497IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO497IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO497IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO497IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO497IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO497IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO497IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO497IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO497IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO497IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO497IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO497IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO497IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "497").Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO497IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double CONCEPTO498PORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double CONCEPTO498PORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498" && x.PORCENTAJETRABAJADOR > 0).ToList().First().PORCENTAJETRABAJADOR);
                }
                else
                {
                    return 0d;
                }


            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO498IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO498IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO498IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO498IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO498IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO498IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO498IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO498IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO498IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO498IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO498IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO498IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO498IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO498IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO498IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO498IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO498IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO498IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO498IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "498").ToList().Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO498IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double CONCEPTO499PORCENTAJEEMPRESA
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().First().PORCENTAJEEMPRESA);
                }
                else
                {
                    return 0d;
                }

            }
        }
        [NotMapped]
        public double CONCEPTO499PORCENTAJETRABAJADOR
        {
            get
            {
                if (this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499" && x.PORCENTAJETRABAJADOR > 0).ToList().Count > 0)
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499" && x.PORCENTAJETRABAJADOR > 0).ToList().First().PORCENTAJETRABAJADOR);
                }
                else
                {
                    return 0d;
                }


            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO499IMPORTE;
        [NotMapped]
        public double SUMACONCEPTO499IMPORTE
        {
            get
            {
                if (_SUMACONCEPTO499IMPORTE.HasValue)
                {
                    return (double)_SUMACONCEPTO499IMPORTE;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().Sum(x => x.IMPORTE));
                }
            }
            set
            {
                _SUMACONCEPTO499IMPORTE = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO499IMPORTEGLOBAL;
        [NotMapped]
        public double SUMACONCEPTO499IMPORTEGLOBAL
        {
            get
            {
                if (_SUMACONCEPTO499IMPORTEGLOBAL.HasValue)
                {
                    return (double)_SUMACONCEPTO499IMPORTEGLOBAL;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().Sum(x => x.IMPORTEGLOBAL));
                }
            }
            set
            {
                _SUMACONCEPTO499IMPORTEGLOBAL = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO499IMPORTEEMPRESA;
        [NotMapped]
        public double SUMACONCEPTO499IMPORTEEMPRESA
        {
            get
            {
                if (_SUMACONCEPTO499IMPORTEEMPRESA.HasValue)
                {
                    return (double)_SUMACONCEPTO499IMPORTEEMPRESA;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().Sum(x => x.IMPORTEEMPRESA));
                }
            }
            set
            {
                _SUMACONCEPTO499IMPORTEEMPRESA = value;
            }
        }
        [NotMapped]
        private double? _SUMACONCEPTO499IMPORTETRABAJADOR;
        [NotMapped]
        public double SUMACONCEPTO499IMPORTETRABAJADOR
        {
            get
            {
                if (_SUMACONCEPTO499IMPORTETRABAJADOR.HasValue)
                {
                    return (double)_SUMACONCEPTO499IMPORTETRABAJADOR;
                }
                else
                {
                    return decimal.ToDouble(this.PERIODOSSILTRA.SelectMany(x => x.TRAMOSSILTRA).Where(x => x.IDTIPOTRAMONavigation?.CODIGO == "499").ToList().Sum(x => x.IMPORTETRABAJADOR));
                }
            }
            set
            {
                _SUMACONCEPTO499IMPORTETRABAJADOR = value;
            }
        }
        [NotMapped]
        public double IMPORTEINTERVIENEBASE
        {
            get
            {
                // Return Math.Round(Me.NOMINATRABAJADORLINEA.Where(Function(x) x.TOTALRETRIBUCIONES AndAlso x.CONCEPTOSGENERALES.COTIZASEGURIDADSOCIAL = True).Sum(Function(x) x.TOTALRETRIBUCIONES), 2, MidpointRounding.AwayFromZero) + Me.PRORRATAPAGAEXTRA + Me.PRORRATAPRODUCTIVIDAD + Me.TOTALPAGOESPECIE
                double Total = 0d;
                Total = (double)(Math.Round(this.NOMINATRABAJADORLINEA.Where(x => x.TOTALRETRIBUCIONES > 0 && x.IDCONCEPTOGENERALNavigation.COTIZASEGURIDADSOCIAL == true).Sum(x => x.TOTALRETRIBUCIONES), 2, MidpointRounding.AwayFromZero) + this.PRORRATAPAGAEXTRA + this.PRORRATAPRODUCTIVIDAD + this.TOTALSEGURIDADSOCIALPAGOENESPECIE);
                var Lincondes = this.NOMINATRABAJADORLINEA.Any(x => x.TOTALRETRIBUCIONES > 0 && x.IDCONCEPTOGENERALNavigation.COTIZASEGURIDADSOCIAL == true && x.TIENEDESGLOSE);
                if (Lincondes)
                {
                    foreach (var lindes in this.NOMINATRABAJADORLINEA.Where(x => x.TOTALRETRIBUCIONES > 0 && x.IDCONCEPTOGENERALNavigation.COTIZASEGURIDADSOCIAL == true && x.TIENEDESGLOSE))
                    {
                        foreach (var des in lindes.NOMINATRABAJADORLINEADESGLOSE)
                        {
                            if (this.INCIDENCIAS.Any(x => des.DESCRIPCIONCONCEPTO is not null && x.TEXTO is not null && des.DESCRIPCIONCONCEPTO.Contains(x.TEXTO) && (x.IMPORTE == des.IMPORTE) && (x.COTIZASEGURIDADSOCIAL == false)))
                            {
                                Total = Total - decimal.ToDouble(this.INCIDENCIAS.Where(x => des.DESCRIPCIONCONCEPTO is not null && x.TEXTO is not null && des.DESCRIPCIONCONCEPTO.Contains(x.TEXTO) && (x.IMPORTE == des.IMPORTE) && (x.COTIZASEGURIDADSOCIAL == false)).ToList().First().IMPORTE);
                            }
                        }
                    }
                }
                return Total;
            }
        }
    }
}
