public ActionResult ElencoVariazioneTV(decimal idTitoliViaggio)
        {
            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtVariazioneTitoliViaggi dtvtv = new dtVariazioneTitoliViaggi())
                    {
                        List <ElencoTitoliViaggioModel> ltvm = new List <ElencoTitoliViaggioModel>();

                        var  atv                        = dtvtv.GetAttivazioneTV(idTitoliViaggio, db);
                        var  atv_attivata               = dtvtv.GetUltimaAttivazioneVariazioneAttivata(idTitoliViaggio, db);
                        bool richiestaEseguita          = false;
                        bool richiestaDocumentiEseguita = false;
                        bool faseRichiestaDocumenti     = false;
                        bool faseRichiesta              = false;

                        //se esistono documenti assoctai all'attivazione vuol dire che sto
                        //nella fase di invio documenti di viaggio
                        //altrimenti sto nella fase di richiesta titoli viaggio
                        if (atv_attivata.IDATTIVAZIONETITOLIVIAGGIO > 0)
                        {
                            if (dtvtv.VerificaDocumentiAttivazioneTV(atv_attivata.IDATTIVAZIONETITOLIVIAGGIO, db) == false)
                            {
                                faseRichiestaDocumenti = true;
                                if (atv.NOTIFICARICHIESTA == false && atv.ATTIVAZIONERICHIESTA == false)
                                {
                                    //elenco di tutti i familiari di cui ho richiesto il TV
                                    ltvm = dtvtv.ElencoTVDocumentiDaNotificare(atv);
                                }

                                if (atv.NOTIFICARICHIESTA && atv.ATTIVAZIONERICHIESTA == false)
                                {
                                    //elenco di tutti i familiari associati all'attivazione
                                    ltvm = dtvtv.ElencoTVDocumentiDaAttivare(atv);
                                    richiestaDocumentiEseguita = true;
                                }
                            }
                            else
                            {
                                faseRichiesta = true;

                                if (atv.NOTIFICARICHIESTA && atv.ATTIVAZIONERICHIESTA == false)
                                {
                                    //elenco di tutti i familiari associati all'attivazione
                                    ltvm = dtvtv.ElencoTVDaAttivare(atv);
                                    richiestaEseguita = true;
                                }

                                if (atv.NOTIFICARICHIESTA == false && atv.ATTIVAZIONERICHIESTA == false)
                                {
                                    //elenco di tutti i familiari che non hanno richiesto TV
                                    ltvm = dtvtv.ElencoTVDaRichiedere(atv, db);
                                }
                            }
                        }
                        else
                        {
                            faseRichiesta = true;

                            if (atv.NOTIFICARICHIESTA && atv.ATTIVAZIONERICHIESTA == false)
                            {
                                //elenco di tutti i familiari associati all'attivazione
                                ltvm = dtvtv.ElencoTVDaAttivare(atv);
                                richiestaEseguita = true;
                            }

                            if (atv.NOTIFICARICHIESTA == false && atv.ATTIVAZIONERICHIESTA == false)
                            {
                                //elenco di tutti i familiari che non hanno richiesto TV
                                ltvm = dtvtv.ElencoTVDaRichiedere(atv, db);
                            }
                        }

                        using (dtTrasferimento dtt = new dtTrasferimento())
                        {
                            var t = dtt.GetTrasferimentoByIdTitoloViaggio(idTitoliViaggio);
                            EnumStatoTraferimento statoTrasferimento = t.idStatoTrasferimento;
                            ViewData.Add("statoTrasferimento", statoTrasferimento);
                        }


                        //bool richiestaEseguita = dtvtv.richiestaEseguita(idTitoliViaggio);

                        ViewData.Add("richiestaEseguita", richiestaEseguita);
                        ViewData.Add("faseRichiesta", faseRichiesta);
                        ViewData.Add("faseRichiestaDocumenti", faseRichiestaDocumenti);

                        ViewData.Add("richiestaDocumentiEseguita", richiestaDocumentiEseguita);
                        ViewData.Add("idTitoliViaggio", idTitoliViaggio);
                        ViewData.Add("idAttivazioneTV", atv.IDATTIVAZIONETITOLIVIAGGIO);


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