public PercentualeMagConiugeModel GetPercentualeMaggiorazioneConiuge(EnumTipologiaConiuge idTipologiaConiuge, DateTime dt, ModelDBISE db)
        {
            PercentualeMagConiugeModel pmcm = new PercentualeMagConiugeModel();

            var lpmc =
                db.PERCENTUALEMAGCONIUGE.Where(
                    a =>
                    a.ANNULLATO == false && a.IDTIPOLOGIACONIUGE == (decimal)idTipologiaConiuge && dt >= a.DATAINIZIOVALIDITA &&
                    dt <= a.DATAFINEVALIDITA).OrderByDescending(a => a.DATAINIZIOVALIDITA).ToList();


            if (lpmc != null && lpmc.Count > 0)
            {
                var pmc = lpmc.First();

                pmcm = new PercentualeMagConiugeModel()
                {
                    idPercentualeConiuge = pmc.IDPERCMAGCONIUGE,
                    idTipologiaConiuge   = (EnumTipologiaConiuge)pmc.IDTIPOLOGIACONIUGE,
                    dataInizioValidita   = pmc.DATAINIZIOVALIDITA,
                    dataFineValidita     = pmc.DATAFINEVALIDITA,
                    percentualeConiuge   = pmc.PERCENTUALECONIUGE,
                    dataAggiornamento    = pmc.DATAAGGIORNAMENTO,
                    annullato            = pmc.ANNULLATO
                };
            }

            return(pmcm);
        }
        /// <summary>
        /// Preleva le percentuali nel range di date passate.
        /// </summary>
        /// <param name="idTipologiaConiuge"></param>
        /// <param name="dtIni"></param>
        /// <param name="dtFin"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        public IList <PercentualeMagConiugeModel> GetListaPercentualiMagConiugeByRangeDate(EnumTipologiaConiuge idTipologiaConiuge, DateTime dtIni, DateTime dtFin, ModelDBISE db)
        {
            List <PercentualeMagConiugeModel> lpmcm = new List <PercentualeMagConiugeModel>();

            var lpmc =
                db.PERCENTUALEMAGCONIUGE.Where(
                    a =>
                    a.ANNULLATO == false && a.IDTIPOLOGIACONIUGE == (decimal)idTipologiaConiuge &&
                    a.DATAINIZIOVALIDITA <= dtFin && a.DATAFINEVALIDITA >= dtIni)
                .OrderBy(a => a.DATAINIZIOVALIDITA)
                .ToList();

            if (lpmc?.Any() ?? false)
            {
                lpmcm = (from e in lpmc
                         select new PercentualeMagConiugeModel()
                {
                    idPercentualeConiuge = e.IDPERCMAGCONIUGE,
                    idTipologiaConiuge = (EnumTipologiaConiuge)e.IDTIPOLOGIACONIUGE,
                    dataInizioValidita = e.DATAINIZIOVALIDITA,
                    dataFineValidita = e.DATAFINEVALIDITA,
                    percentualeConiuge = e.PERCENTUALECONIUGE,
                    dataAggiornamento = e.DATAAGGIORNAMENTO,
                    annullato = e.ANNULLATO
                }).ToList();
            }

            return(lpmcm);
        }