public ActionResult AltriDatiFamiliariFiglio(decimal idTitoliViaggio, decimal idFiglio, decimal idTabTV)
        {
            AltriDatiFamFiglioModel         adffm = new AltriDatiFamFiglioModel();
            TitoloViaggioModel              tvm   = new TitoloViaggioModel();
            List <ElencoTitoliViaggioModel> ltvm  = new List <ElencoTitoliViaggioModel>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtVariazioneTitoliViaggi dtvtv = new dtVariazioneTitoliViaggi())
                    {
                        adffm = dtvtv.GetAltriDatiFamiliariFiglio(idTitoliViaggio, idFiglio);

                        decimal idAttivazioneTV = dtvtv.GetAttivazioneTV(idTitoliViaggio, db).IDATTIVAZIONETITOLIVIAGGIO;

                        ViewData.Add("idTitoliViaggio", idTitoliViaggio);
                        ViewData.Add("idAttivazioneTV", idAttivazioneTV);
                        ViewData.Add("idTabTV", idTabTV);

                        using (dtFigli dtf = new dtFigli())
                        {
                            FigliModel f = dtf.GetFigliobyID(idFiglio);
                            if (f != null && f.HasValue())
                            {
                                switch (f.idTipologiaFiglio)
                                {
                                case EnumTipologiaFiglio.Residente:
                                    adffm.residente = true;
                                    adffm.studente  = false;
                                    break;

                                case EnumTipologiaFiglio.NonResidente:
                                    adffm.residente = false;
                                    adffm.studente  = false;
                                    break;

                                case EnumTipologiaFiglio.StudenteResidente:
                                    adffm.studente  = true;
                                    adffm.residente = true;
                                    break;

                                case EnumTipologiaFiglio.StudenteNonResidente:
                                    adffm.residente = false;
                                    adffm.studente  = true;
                                    break;

                                default:
                                    throw new ArgumentOutOfRangeException();
                                }
                            }
                        }
                    }

                    if (adffm != null && adffm.HasValue())
                    {
                        using (dtFigli dtc = new dtFigli())
                        {
                            var fm = dtc.GetFigliobyID(idFiglio);
                            adffm.Figli = fm;
                        }
                    }
                }

                return(PartialView(adffm));
            }

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