public decimal ListeValute()
        {
            decimal            idValuta = 0;
            List <ValuteModel> llm      = new List <ValuteModel>();
            var r = new List <SelectListItem>();

            using (dtValute dtl = new dtValute())
            {
                llm = dtl.GetValute().OrderBy(a => a.descrizioneValuta).ToList();
                if (llm != null && llm.Count > 0)
                {
                    r = (from t in llm
                         select new SelectListItem()
                    {
                        Text = t.descrizioneValuta,
                        Value = t.idValuta.ToString()
                    }).ToList();

                    if (idValuta == 0)
                    {
                        r.First().Selected = true;
                        idValuta = Convert.ToDecimal(r.First().Value);
                    }
                    else
                    {
                        r.Where(a => a.Value == idValuta.ToString()).First().Selected = true;
                    }
                }
                ViewBag.Valute = r;
            }
            return(idValuta);
        }
        public ActionResult NuovoTFR(decimal idValuta, bool escludiAnnullati)
        {
            var r = new List <SelectListItem>();

            try
            {
                using (dtValute dtl = new dtValute())
                {
                    var lm = dtl.GetValute(idValuta);
                    ViewBag.DescrizioneValuta = lm;
                }
                ViewBag.escludiAnnullati = escludiAnnullati;
                return(PartialView());
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
        }
        public ActionResult NuoveValute(decimal idValuta)
        {
            var r = new List <SelectListItem>();

            try
            {
                using (dtValute dtl = new dtValute())
                {
                    var lm = dtl.GetValute(idValuta);
                    ViewBag.descrizionevaluta = lm;
                }

                ViewBag.idValuta = idValuta;
                return(PartialView());
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
        }
        public ActionResult ValutaLivello(decimal idValuta)
        {
            List <ValuteModel> libm = new List <ValuteModel>();
            var r = new List <SelectListItem>();
            List <ValuteModel> llm = new List <ValuteModel>();

            try
            {
                ListeValute();
                using (dtValute dtib = new dtValute())
                {
                    libm = dtib.getListValute(idValuta).OrderBy(a => a.idValuta).ToList();
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
            //ViewBag.escludiAnnullati = escludiAnnullati;
            return(PartialView("Valute", libm));
        }
        decimal CaricaComboFunzioniTFR(decimal idValuta)
        {
            var r = new List <SelectListItem>();
            List <ValuteModel> llm = new List <ValuteModel>();

            using (dtValute dtl = new dtValute())
            {
                llm = dtl.getListValute().OrderBy(a => a.descrizioneValuta).ToList();
                if (llm != null && llm.Count > 0)
                {
                    r = (from t in llm
                         select new SelectListItem()
                    {
                        Text = t.descrizioneValuta,
                        Value = t.idValuta.ToString()
                    }).ToList();

                    if (idValuta == 0)
                    {
                        r.First().Selected = true;
                        idValuta = Convert.ToDecimal(r.First().Value);
                    }
                    else
                    {
                        var temp = r.Where(a => a.Value == idValuta.ToString()).ToList();
                        if (temp.Count == 0)
                        {
                            r.First().Selected = true;
                            idValuta = Convert.ToDecimal(r.First().Value);
                        }
                        else
                        {
                            r.Where(a => a.Value == idValuta.ToString()).First().Selected = true;
                        }
                    }
                }
                ViewBag.LivelliList = r;
            }
            return(idValuta);
        }
        public ActionResult EliminaValuta(decimal idValuta)
        {
            List <ValuteModel> libm = new List <ValuteModel>();

            try
            {
                using (dtValute dtib = new dtValute())
                {
                    dtib.DelValute(idValuta);
                }
                ListeValute();
                using (dtValute dtib = new dtValute())
                {
                    libm = dtib.getListValute(idValuta).OrderBy(a => a.descrizioneValuta).ToList();
                }
                return(PartialView("Valute", libm));
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
        }
        public ActionResult InserisciTFR(TFRModel ibm, bool escludiAnnullati = true, bool aggiornaTutto = false)
        {
            ViewBag.escludiAnnullati = escludiAnnullati;
            //var r = new List<SelectListItem>();
            List <TFRModel> libm = new List <TFRModel>();

            try
            {
                if (ModelState.IsValid)
                {
                    using (dtTfr dtib = new dtTfr())
                    {
                        dtib.SetTfr(ibm, aggiornaTutto);
                    }
                    decimal idLivello = CaricaComboFunzioniTFR(ibm.idValuta);
                    using (dtTfr dtib = new dtTfr())
                    {
                        ViewBag.idMinimoNonAnnullato = dtib.Get_Id_TFRPrimoNonAnnullato(idLivello);
                        libm = dtib.getListTfr(idLivello, escludiAnnullati).OrderBy(a => a.dataInizioValidita).ThenBy(a => a.dataFineValidita).ToList();
                    }
                    return(PartialView("TFR", libm));
                }
                else
                {
                    using (dtValute dtl = new dtValute())
                    {
                        var lm = dtl.GetValute(ibm.idValuta);
                        ViewBag.DescrizioneValuta = lm;
                    }
                    CaricaComboFunzioniTFR(ibm.idValuta);
                    return(PartialView("NuovoTFR", ibm));
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
        }
        public ActionResult Valute(decimal idValuta = 0)
        {
            List <ValuteModel> libm = new List <ValuteModel>();
            var r = new List <SelectListItem>();
            List <ValuteModel> llm = new List <ValuteModel>();

            try
            {
                ListeValute();
                using (dtValute dtib = new dtValute())
                {
                    libm = dtib.getListValute(idValuta).OrderBy(a => a.idValuta).ToList();
                }
            }
            catch (Exception ex)
            {
                MsgErr msg = new MsgErr()
                {
                    msg = ex.Message
                };
                return(PartialView("ErrorPartial", msg));
            }
            return(PartialView(libm));
        }
        public ActionResult InserisciValuta(ValuteModel ibm)
        {
            var r = new List <SelectListItem>();
            List <ValuteModel> libm = new List <ValuteModel>();
            List <ValuteModel> llm  = new List <ValuteModel>();

            try
            {
                if (ModelState.IsValid)
                {
                    using (dtValute dtib = new dtValute())
                    {
                        dtib.SetValute(ibm);
                    }
                    ListeValute();
                    using (dtValute dtib = new dtValute())
                    {
                        libm = dtib.getListValute().OrderBy(a => a.idValuta).ToList();
                    }
                    return(PartialView("Valute", libm));
                }
                else
                {
                    using (dtValute dtl = new dtValute())
                    {
                        var lm = dtl.GetValute(ibm.idValuta);
                        ViewBag.descrizionevaluta = lm;
                    }
                    return(PartialView("NuoveValute", ibm));
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial"));
            }
        }
        public ActionResult ConfermaModificaMAB(MABViewModel mvm, decimal idTrasferimento, decimal idMAB)
        {
            MABViewModel mam = new MABViewModel();

            try
            {
                if (ModelState.IsValid)
                {
                    try
                    {
                        using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                        {
                            dtma.AggiornaMAB(mvm, idTrasferimento, idMAB);
                        }
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("", ex.Message);

                        List <SelectListItem> lValute = new List <SelectListItem>();

                        var r = new List <SelectListItem>();

                        using (ModelDBISE db = new ModelDBISE())
                        {
                            using (dtValute dtv = new dtValute())
                            {
                                var lv = dtv.GetElencoValute(db);

                                if (lv != null && lv.Count > 0)
                                {
                                    r = (from v in lv
                                         select new SelectListItem()
                                    {
                                        Text = v.DESCRIZIONEVALUTA,
                                        Value = v.IDVALUTA.ToString()
                                    }).ToList();

                                    r.Insert(0, new SelectListItem()
                                    {
                                        Text = "", Value = ""
                                    });
                                }

                                lValute         = r;
                                ViewBag.lValute = lValute;

                                ViewData.Add("idMAB", idMAB);
                                ViewData.Add("idTrasferimento", idTrasferimento);

                                return(PartialView("ModificaMAB", mvm));
                            }
                        }
                    }
                }
                else
                {
                    List <SelectListItem> lValute = new List <SelectListItem>();

                    var r = new List <SelectListItem>();

                    using (ModelDBISE db = new ModelDBISE())
                    {
                        using (dtValute dtv = new dtValute())
                        {
                            var lv = dtv.GetElencoValute(db);

                            if (lv != null && lv.Count > 0)
                            {
                                r = (from v in lv
                                     select new SelectListItem()
                                {
                                    Text = v.DESCRIZIONEVALUTA,
                                    Value = v.IDVALUTA.ToString()
                                }).ToList();

                                r.Insert(0, new SelectListItem()
                                {
                                    Text = "", Value = ""
                                });
                            }

                            lValute         = r;
                            ViewBag.lValute = lValute;

                            ViewData.Add("idMAB", idMAB);
                            ViewData.Add("idTrasferimento", idTrasferimento);

                            return(PartialView("ModificaMAB", mvm));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                });
            }

            return(RedirectToAction("GestioneMAB", new { idTrasferimento = idTrasferimento }));
        }
        //public ActionResult NuovaMAB(decimal idTrasferimento)
        //{
        //    MABViewModel mam = new MABViewModel();

        //    List<SelectListItem> lValute = new List<SelectListItem>();

        //    var r = new List<SelectListItem>();

        //    try
        //    {
        //        using (ModelDBISE db = new ModelDBISE())
        //        {
        //            using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
        //            {
        //                using (dtValute dtv = new dtValute())
        //                {
        //                    var lv = dtv.GetElencoValute(db);

        //                    if (lv != null && lv.Count > 0)
        //                    {
        //                        r = (from v in lv
        //                             select new SelectListItem()
        //                             {
        //                                 Text = v.DESCRIZIONEVALUTA,
        //                                 Value = v.IDVALUTA.ToString()
        //                             }).ToList();

        //                        r.Insert(0, new SelectListItem() { Text = "", Value = "" });
        //                    }

        //                    lValute = r;
        //                    ViewBag.lValute = lValute;

        //                    var vm = dtv.GetValutaUfficiale(db);

        //                    mam.id_Valuta = vm.idValuta;
        //                }
        //                using (dtTrasferimento dtt = new dtTrasferimento())
        //                {
        //                    var t = dtt.GetTrasferimentoById(idTrasferimento);
        //                    //mam.dataInizioMAB = t.dataPartenza;
        //                    mam.idTrasferimento = idTrasferimento;
        //                    //mam.dataPartenza = t.dataPartenza;
        //                }
        //                //mam.dataFineMAB = Utility.DataFineStop();
        //                mam.ut_dataFineMAB = null;
        //                mam.importo_canone = 0;

        //                //mam.AnticipoAnnuale = false;
        //                //var mann = dtma.GetMaggiorazioneAnnuale(mam, db);
        //                //mam.idMagAnnuali = mann.idMagAnnuali;

        //                ViewData.Add("idTrasferimento", idTrasferimento);
        //                ViewBag.lValute = lValute;

        //                return PartialView(mam);
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        return PartialView("ErrorPartial", new MsgErr() { msg = ex.Message });
        //    }

        //}


        public ActionResult ModificaMAB(decimal idMAB)
        {
            MABViewModel mam = new MABViewModel();

            List <SelectListItem> lValute = new List <SelectListItem>();

            var r = new List <SelectListItem>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                    {
                        using (dtValute dtv = new dtValute())
                        {
                            using (dtTrasferimento dtt = new dtTrasferimento())
                            {
                                var m = db.MAB.Find(idMAB);
                                var t = dtt.GetTrasferimentoById(m.INDENNITA.TRASFERIMENTO.IDTRASFERIMENTO);

                                var mab = dtma.GetMABPartenza(t.idTrasferimento, db);

                                var pmm = dtma.GetPeriodoMABModelPartenza(mab.IDMAB, db);

                                CANONEMAB cm = dtma.GetCanoneMABPartenza(mab, db);

                                var aa = dtma.GetAnticipoAnnualeMABPartenza(mab, db);

                                mam.importo_canone   = cm.IMPORTOCANONE;
                                mam.dataInizioMAB    = pmm.dataInizioMAB;
                                mam.ut_dataInizioMAB = pmm.dataInizioMAB;
                                mam.dataFineMAB      = pmm.dataFineMAB;
                                mam.anticipoAnnuale  = aa.ANTICIPOANNUALE;
                                mam.id_Valuta        = cm.IDVALUTA;

                                var vm = dtv.GetValutaModel(mam.id_Valuta, db);
                                mam.descrizioneValuta = vm.descrizioneValuta;

                                var lv = dtv.GetElencoValute(db);

                                if (lv != null && lv.Count > 0)
                                {
                                    r = (from v in lv
                                         select new SelectListItem()
                                    {
                                        Text = v.DESCRIZIONEVALUTA,
                                        Value = v.IDVALUTA.ToString()
                                    }).ToList();

                                    r.Insert(0, new SelectListItem()
                                    {
                                        Text = "", Value = ""
                                    });
                                }

                                lValute         = r;
                                ViewBag.lValute = lValute;

                                mam.idMAB           = m.IDMAB;
                                mam.idTrasferimento = t.idTrasferimento;
                                var amab = dtma.GetAttivazionePartenzaMAB(t.idTrasferimento);
                                mam.idAttivazioneMAB = amab.idAttivazioneMAB;

                                mam.idMagAnnuali = 0;
                                var mann = dtma.GetMaggiorazioneAnnuale(mab, db);
                                if (mann.IDMAGANNUALI > 0)
                                {
                                    mam.idMagAnnuali = mann.IDMAGANNUALI;
                                }

                                var lpc = dtma.GetListPagatoCondivisoMABPartenza(mam);

                                if (lpc.Count() > 0)
                                {
                                    var pc = lpc.First();
                                    mam.canone_condiviso = pc.CONDIVISO;
                                    mam.canone_pagato    = pc.PAGATO;
                                }

                                mam.ut_dataFineMAB = pmm.dataFineMAB;
                                if (pmm.dataFineMAB == Utility.DataFineStop())
                                {
                                    mam.ut_dataFineMAB = null;
                                }

                                ViewData.Add("idMAB", idMAB);
                                ViewData.Add("idTrasferimento", t.idTrasferimento);
                                ViewBag.lValute = lValute;

                                return(PartialView(mam));
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }
        }
        public ActionResult AttivitaMAB(decimal idTrasferimento)
        {
            List <MABViewModel> mavml = new List <MABViewModel>();
            MABViewModel        mavm  = new MABViewModel();
            //MaggiorazioneAbitazioneModel mam = new MaggiorazioneAbitazioneModel();
            MAB                 mab  = new MAB();
            PERIODOMAB          pmab = new PERIODOMAB();
            ATTIVAZIONEMAB      am   = new ATTIVAZIONEMAB();
            AttivazioneMABModel amm  = new AttivazioneMABModel();
            ANTICIPOANNUALEMAB  aa   = new ANTICIPOANNUALEMAB();
            CANONEMAB           cm   = new CANONEMAB();

            using (ModelDBISE db = new ModelDBISE())
            {
                try
                {
                    db.Database.BeginTransaction();

                    bool soloLettura = false;
                    bool siDati      = false;
                    EnumStatoTraferimento statoTrasferimento = 0;
                    using (dtTrasferimento dtt = new dtTrasferimento())
                    {
                        using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                        {
                            var t = dtt.GetTrasferimentoById(idTrasferimento);

                            amm = dtma.GetAttivazionePartenzaMAB(idTrasferimento);

                            if (amm != null && amm.idAttivazioneMAB > 0)
                            {
                                if (amm.notificaRichiesta)
                                {
                                    soloLettura = true;
                                }
                            }
                            mavm.idAttivazioneMAB = amm.idAttivazioneMAB;

                            mab = dtma.GetMABPartenza(idTrasferimento, db);

                            pmab = dtma.GetPeriodoMABPartenza(mab.IDMAB, db);

                            mavm.idMAB        = mab.IDMAB;
                            mavm.idPeriodoMAB = pmab.IDPERIODOMAB;

                            mavm.rinunciaMAB = mab.RINUNCIAMAB;

                            cm = dtma.GetCanoneMABPartenza(mab, db);

                            aa = dtma.GetAnticipoAnnualeMABPartenza(mab, db);
                            mavm.importo_canone = cm.IMPORTOCANONE;
                            mavm.dataInizioMAB  = pmab.DATAINIZIOMAB;
                            mavm.dataFineMAB    = pmab.DATAFINEMAB > t.dataRientro ? t.dataRientro.Value : pmab.DATAFINEMAB;
                            if (aa.IDANTICIPOANNUALEMAB > 0)
                            {
                                mavm.anticipoAnnuale = aa.ANTICIPOANNUALE;
                            }
                            else
                            {
                                mavm.anticipoAnnuale = false;

                                aa = dtma.CreaAnticipoAnnualePartenza(mavm, db);
                            }

                            mavm.id_Valuta = cm.IDVALUTA;

                            using (dtValute dtv = new dtValute())
                            {
                                var v = dtv.GetValutaModel(mavm.id_Valuta, db);
                                mavm.descrizioneValuta = v.descrizioneValuta;
                            }

                            var lpc = dtma.GetListPagatoCondivisoMABPartenza(mavm);

                            if (lpc.Count() > 0)
                            {
                                var pc = lpc.First();
                                mavm.canone_pagato    = pc.PAGATO;
                                mavm.canone_condiviso = pc.CONDIVISO;
                            }

                            mavml.Add(mavm);

                            siDati = true;

                            statoTrasferimento = t.idStatoTrasferimento;
                            if (statoTrasferimento == EnumStatoTraferimento.Annullato)
                            {
                                soloLettura = true;
                            }

                            if (mab.RINUNCIAMAB)
                            {
                                soloLettura = true;
                            }

                            ViewData.Add("soloLettura", soloLettura);
                            ViewData.Add("siDati", siDati);
                            ViewData.Add("idAttivazioneMAB", amm.idAttivazioneMAB);
                            ViewData.Add("idMAB", mab.IDMAB);
                            ViewData.Add("idTrasferimento", idTrasferimento);
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                }

                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    return(PartialView("ErrorPartial", new MsgErr()
                    {
                        msg = ex.Message
                    }));
                }
            }

            return(PartialView(mavml));
        }
        public List <RptRiepiloghiMaggAbitazioneModel> GetRiepiloghiMaggAbitazione(decimal idElabIni, decimal idElabFin, decimal annoDa, decimal meseDa, decimal annoA, decimal meseA, ModelDBISE db)
        {
            string strMeseDa = meseDa.ToString().PadLeft(2, Convert.ToChar("0"));
            string strMeseA  = meseA.ToString().PadLeft(2, Convert.ToChar("0"));

            DateTime dtIni = Convert.ToDateTime("01/" + strMeseDa + "/" + annoDa.ToString());
            DateTime dtFin = Utility.GetDtFineMese(Convert.ToDateTime("01/" + strMeseA + "/" + annoA.ToString()));

            List <RptRiepiloghiMaggAbitazioneModel> rim   = new List <RptRiepiloghiMaggAbitazioneModel>();
            RptRiepiloghiMaggAbitazioneModel        rmabm = new RptRiepiloghiMaggAbitazioneModel();

            var lteorici_mab =
                db.TEORICI.Where(
                    a =>
                    a.ANNULLATO == false &&
                    a.ELABORATO == true &&
                    a.IDMESEANNOELAB >= idElabIni &&
                    a.IDMESEANNOELAB <= idElabFin &&
                    a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                    a.IDVOCI == (decimal)EnumVociContabili.MAB)
                //a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera)
                .ToList();


            foreach (var teorici_mab in lteorici_mab)
            {
                decimal canone        = 0;
                decimal percApplicata = 0;
                decimal tfr           = 0;
                decimal importo_mab   = 0;
                string  valuta        = "";

                var lteorici_ise = db.TEORICI.Where(a =>
                                                    a.ANNULLATO == false &&
                                                    a.ELABORATO == true &&
                                                    //a.IDMESEANNOELAB == teorici_ise.IDMESEANNOELAB &&
                                                    a.MESERIFERIMENTO == teorici_mab.MESERIFERIMENTO &&
                                                    a.ANNORIFERIMENTO == teorici_mab.ANNORIFERIMENTO &&
                                                    a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                                                    a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera)
                                   .ToList();
                decimal importo_ind_pers = 0;

                if (lteorici_ise?.Any() ?? false)
                {
                    var teorici_ise = lteorici_ise.First();
                    //legge dati ise
                    importo_ind_pers = teorici_ise.IMPORTO;
                }

                var lelabmab = teorici_mab.ELABMAB.Where(a => a.ANNULLATO == false && a.DAL >= dtIni && a.AL <= dtFin).ToList();
                if (lelabmab?.Any() ?? false)
                {
                    var elabmab = lelabmab.First();
                    canone        = elabmab.CANONELOCAZIONE;
                    percApplicata = elabmab.PERCMAB;
                    tfr           = elabmab.TASSOFISSORAGGUAGLIO;
                    using (dtValute dtv = new dtValute())
                    {
                        valuta = dtv.GetValuta(elabmab.IDVALUTA).descrizioneValuta;
                    }
                }
                importo_mab = teorici_mab.IMPORTO;

                var tr = teorici_mab.TRASFERIMENTO;
                var d  = tr.DIPENDENTI;

                var uf = tr.UFFICI;
                //var tm = teorici_ise.TIPOMOVIMENTO;
                //var voce = teorici_ise.VOCI;
                //var tl = teorici_ise.VOCI.TIPOLIQUIDAZIONE;
                //var tv = teorici_ise.VOCI.TIPOVOCE;

                var meseannoElab    = db.MESEANNOELABORAZIONE.Find(teorici_mab.IDMESEANNOELAB);
                var strMeseAnnoElab = "";
                var strMeseAnnoRif  = "";
                using (dtElaborazioni dte = new dtElaborazioni())
                {
                    strMeseAnnoElab = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)meseannoElab.MESE) + " " + meseannoElab.ANNO.ToString();
                    strMeseAnnoRif  = CalcoloMeseAnnoElaborazione.NomeMese((EnumDescrizioneMesi)teorici_mab.MESERIFERIMENTO) + " " + teorici_mab.ANNORIFERIMENTO.ToString();
                }
                decimal numMeseRiferimento  = Convert.ToDecimal(teorici_mab.ANNORIFERIMENTO.ToString() + teorici_mab.MESERIFERIMENTO.ToString().ToString().PadLeft(2, (char)'0'));
                decimal numMeseElaborazione = Convert.ToDecimal(meseannoElab.ANNO.ToString() + meseannoElab.MESE.ToString().PadLeft(2, (char)'0'));

                //var lindennita =db.TEORICI.Where(a =>
                //                a.ANNULLATO == false &&
                //                a.IDVOCI == (decimal)EnumVociContabili.Ind_Sede_Estera &&
                //                a.DIRETTO == false &&
                //                a.ELABORATO == true &&
                //                a.INSERIMENTOMANUALE == false &&
                //                a.VOCI.IDTIPOLIQUIDAZIONE == (decimal)EnumTipoLiquidazione.Contabilità &&
                //                a.ANNORIFERIMENTO == teorici.ANNORIFERIMENTO &&
                //                a.MESERIFERIMENTO == teorici.MESERIFERIMENTO &&
                //                a.IDMESEANNOELAB==teorici.IDMESEANNOELAB)
                //            .ToList();


                RptRiepiloghiMaggAbitazioneModel ldvm = new RptRiepiloghiMaggAbitazioneModel()
                {
                    Nominativo          = d.COGNOME + " " + d.NOME,
                    Ufficio             = uf.DESCRIZIONEUFFICIO,
                    Matricola           = d.MATRICOLA.ToString(),
                    MeseElaborazione    = strMeseAnnoElab,
                    MeseRiferimento     = strMeseAnnoRif,
                    Canone              = canone,
                    percApplicata       = percApplicata,
                    importo_mab         = importo_mab,
                    importo_ind_pers    = importo_ind_pers,
                    numMeseElaborazione = numMeseElaborazione,
                    numMeseRiferimento  = numMeseRiferimento,
                    tfr    = tfr,
                    Valuta = valuta
                };

                rim.Add(ldvm);
            }

            return(rim);
        }