//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
                }));
            }
        }