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
                }));
            }
        }
        public ActionResult AltriDatiFamiliariFiglio(decimal idFiglio, decimal idAttivazioneMagFam)
        {
            AltriDatiFamFiglioModel adf = new AltriDatiFamFiglioModel();

            try
            {
                using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari())
                {
                    adf = dtadf.GetAltriDatiFamiliariFiglio(idFiglio, idAttivazioneMagFam);
                }


                using (dtMaggiorazioniFamiliari dtmf = new dtMaggiorazioniFamiliari())
                {
                    bool rinunciaMagFam       = false;
                    bool richiestaAttivazione = false;
                    bool attivazione          = false;
                    bool datiConiuge          = false;
                    bool datiParzialiConiuge  = false;
                    bool datiFigli            = false;
                    bool datiParzialiFigli    = false;
                    bool siDocConiuge         = false;
                    bool siDocFigli           = false;
                    bool docFormulario        = false;

                    bool solaLettura      = false;
                    bool trasfSolaLettura = false;

                    dtmf.SituazioneMagFamPartenza(idAttivazioneMagFam, out rinunciaMagFam,
                                                  out richiestaAttivazione, out attivazione, out datiConiuge, out datiParzialiConiuge,
                                                  out datiFigli, out datiParzialiFigli, out siDocConiuge, out siDocFigli, out docFormulario, out trasfSolaLettura);

                    if (richiestaAttivazione == true || trasfSolaLettura == true)
                    {
                        solaLettura = true;
                    }
                    else
                    {
                        solaLettura = false;
                    }

                    ViewData.Add("solaLettura", solaLettura);
                }
                using (dtFigli dtf = new dtFigli())
                {
                    FigliModel f = dtf.GetFigliobyID(idFiglio);
                    if (f != null && f.HasValue())
                    {
                        switch (f.idTipologiaFiglio)
                        {
                        case EnumTipologiaFiglio.Residente:
                            adf.residente = true;
                            adf.studente  = false;
                            break;

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

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

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

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

            ViewData.Add("idAttivazioneMagFam", idAttivazioneMagFam);

            if (adf != null && adf.HasValue())
            {
                //using (dtFigli dtf = new dtFigli())
                //{

                //    var fm = dtf.GetFigliobyID(adf.idFigli);
                //    adf.Figli = fm;

                //}

                return(PartialView(adf));
            }
            else
            {
                List <Comuni> comuni = new List <Comuni>();

                using (StreamReader sr = new StreamReader(Server.MapPath("~/DBComuniItalia/jsonComuniItalia.json")))
                {
                    comuni = JsonConvert.DeserializeObject <List <Comuni> >(sr.ReadToEnd(), new JsonSerializerSettings
                    {
                        NullValueHandling = NullValueHandling.Ignore
                    });
                }

                adf.idFigli = idFiglio;

                ViewData.Add("Comuni", comuni);

                using (dtFigli dtf = new dtFigli())
                {
                    string nominativo = dtf.GetFigliobyID(idFiglio).nominativo.ToUpper();
                    ViewData.Add("nominativo", nominativo);
                }

                return(PartialView("InserisciAltriDatiFamiliariFiglio", adf));
            }
        }