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));
        }
        public ActionResult FormulariMAB(decimal idTrasferimento)
        {
            bool    siDocModulo1        = false;
            bool    siDocModulo2        = false;
            bool    siDocModulo3        = false;
            bool    siDocModulo4        = false;
            bool    siDocModulo5        = false;
            bool    siDocCopiaContratto = false;
            bool    siDocCopiaRicevuta  = false;
            bool    chkRinuncia         = false;
            decimal idDocModulo1        = 0;
            decimal idDocModulo2        = 0;
            decimal idDocModulo3        = 0;
            decimal idDocModulo4        = 0;
            decimal idDocModulo5        = 0;
            decimal idDocCopiaContratto = 0;
            decimal idDocCopiaRicevuta  = 0;
            EnumStatoTraferimento statoTrasferimento = 0;


            //MaggiorazioneAbitazioneModel mam = new MaggiorazioneAbitazioneModel();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                    {
                        bool soloLettura = false;

                        AttivazioneMABModel amm = dtma.GetAttivazionePartenzaMAB(idTrasferimento);

                        if (amm != null && amm.idAttivazioneMAB > 0)
                        {
                            dtma.VerificaDocumentiPartenza(amm, out siDocCopiaContratto,
                                                           out siDocCopiaRicevuta,
                                                           out siDocModulo1,
                                                           out siDocModulo2,
                                                           out siDocModulo3,
                                                           out siDocModulo4,
                                                           out siDocModulo5,
                                                           out idDocCopiaContratto,
                                                           out idDocCopiaRicevuta,
                                                           out idDocModulo1,
                                                           out idDocModulo2,
                                                           out idDocModulo3,
                                                           out idDocModulo4,
                                                           out idDocModulo5);

                            if (amm.notificaRichiesta)
                            {
                                soloLettura = true;
                            }

                            using (dtTrasferimento dtt = new dtTrasferimento())
                            {
                                var t = dtt.GetTrasferimentoById(idTrasferimento);
                                statoTrasferimento = t.idStatoTrasferimento;
                                if (statoTrasferimento == EnumStatoTraferimento.Annullato)
                                {
                                    soloLettura = true;
                                }
                            }

                            var ma = dtma.GetMABPartenza(idTrasferimento, db);
                            //var rmab = dtma.GetRinunciaMAB(ma);
                            if (ma.RINUNCIAMAB)
                            {
                                chkRinuncia = true;
                            }
                        }
                        decimal NumAttivazioni = dtma.GetNumAttivazioniMAB(idTrasferimento);

                        ViewData.Add("idTrasferimento", idTrasferimento);
                        ViewData.Add("siDocCopiaContratto", siDocCopiaContratto);
                        ViewData.Add("siDocCopiaRicevuta", siDocCopiaRicevuta);
                        ViewData.Add("siDocModulo1", siDocModulo1);
                        ViewData.Add("siDocModulo2", siDocModulo2);
                        ViewData.Add("siDocModulo3", siDocModulo3);
                        ViewData.Add("siDocModulo4", siDocModulo4);
                        ViewData.Add("siDocModulo5", siDocModulo5);
                        ViewData.Add("idDocCopiaContratto", idDocCopiaContratto);
                        ViewData.Add("idDocCopiaRicevuta", idDocCopiaRicevuta);
                        ViewData.Add("idDocModulo1", idDocModulo1);
                        ViewData.Add("idDocModulo2", idDocModulo2);
                        ViewData.Add("idDocModulo3", idDocModulo3);
                        ViewData.Add("idDocModulo4", idDocModulo4);
                        ViewData.Add("idDocModulo5", idDocModulo5);
                        ViewData.Add("soloLettura", soloLettura);
                        ViewData.Add("chkRinuncia", chkRinuncia);
                        ViewData.Add("NumAttivazioni", NumAttivazioni);
                    }
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView());
        }