public ActionResult GestionePulsantiMAB(decimal idTrasferimento)
        {
            AttivazioneMABModel amm = new AttivazioneMABModel();
            MAB ma = new MAB();
            ANTICIPOANNUALEMAB aa = new ANTICIPOANNUALEMAB();

            //VariazioniMABModel vmam = new VariazioniMABModel();
            //RinunciaMABModel rmab = new RinunciaMABModel();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                    {
                        using (dtTrasferimento dtt = new dtTrasferimento())
                        {
                            bool amministratore = Utility.Amministratore();

                            string  disabledNotificaRichiesta = "disabled";
                            string  hiddenNotificaRichiesta   = "";
                            string  disabledAttivaRichiesta   = "disabled";
                            string  hiddenAttivaRichiesta     = "hidden";
                            string  disabledAnnullaRichiesta  = "disabled";
                            string  hiddenAnnullaRichiesta    = "hidden";
                            decimal num_attivazioni           = 0;
                            bool    esisteMod1 = false;

                            EnumStatoTraferimento statoTrasferimento = 0;


                            amm             = dtma.GetAttivazionePartenzaMAB(idTrasferimento);
                            num_attivazioni = dtma.GetNumAttivazioniMAB(idTrasferimento);
                            ma = dtma.GetMABPartenza(idTrasferimento, db);

                            var ldocModulo1 = dtma.GetDocumentiMABbyTipoDoc(amm.idAttivazioneMAB, (decimal)EnumTipoDoc.Prima_Rata_Maggiorazione_abitazione);
                            if (ldocModulo1.Count > 0)
                            {
                                esisteMod1 = true;
                            }

                            var idAttivazioneMAB = amm.idAttivazioneMAB;

                            bool esisteMAB = ma.IDMAB > 0 ? true : false;
                            //bool esisteVMAB = vmam.idVariazioniMAB > 0 ? true : false;

                            bool notificaRichiesta = amm.notificaRichiesta;
                            bool attivaRichiesta   = amm.Attivazione;


                            var t = dtt.GetTrasferimentoById(idTrasferimento);
                            statoTrasferimento = t.idStatoTrasferimento;


                            //se non esiste nessuma MAB non esegue nessun controllo
                            if (esisteMAB)
                            {
                                //se amministratore vedo i pulsanti altrimenti solo notifica
                                if (amministratore)
                                {
                                    hiddenAttivaRichiesta  = "";
                                    hiddenAnnullaRichiesta = "";

                                    if (num_attivazioni == 0)
                                    {
                                        if (notificaRichiesta && attivaRichiesta == false && esisteMod1 && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            disabledAttivaRichiesta  = "";
                                            disabledAnnullaRichiesta = "";
                                        }
                                        if (notificaRichiesta == false && attivaRichiesta == false && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            if (esisteMod1)
                                            {
                                                disabledNotificaRichiesta = "";
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    if (num_attivazioni == 0)
                                    {
                                        if (notificaRichiesta == false && attivaRichiesta == false && esisteMod1 && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            disabledNotificaRichiesta = "";
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (amministratore)
                                {
                                    hiddenAttivaRichiesta  = "";
                                    hiddenAnnullaRichiesta = "";
                                }
                            }
                            //gestione pulsanti in caso di rinuncia
                            if (notificaRichiesta && attivaRichiesta == false && ma.RINUNCIAMAB && statoTrasferimento != EnumStatoTraferimento.Annullato)
                            {
                                disabledAttivaRichiesta  = "";
                                disabledAnnullaRichiesta = "";
                            }
                            if (ma.RINUNCIAMAB && notificaRichiesta == false && attivaRichiesta == false && statoTrasferimento != EnumStatoTraferimento.Annullato)
                            {
                                disabledNotificaRichiesta = "";
                            }

                            ViewData.Add("idTrasferimento", idTrasferimento);
                            ViewData.Add("idAttivazioneMAB", idAttivazioneMAB);
                            ViewData.Add("disabledAnnullaRichiesta", disabledAnnullaRichiesta);
                            ViewData.Add("disabledAttivaRichiesta", disabledAttivaRichiesta);
                            ViewData.Add("disabledNotificaRichiesta", disabledNotificaRichiesta);
                            ViewData.Add("hiddenAnnullaRichiesta", hiddenAnnullaRichiesta);
                            ViewData.Add("hiddenAttivaRichiesta", hiddenAttivaRichiesta);
                            ViewData.Add("hiddenNotificaRichiesta", hiddenNotificaRichiesta);
                            ViewData.Add("amministratore", amministratore);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView(amm));
        }