public ActionResult ElencoFigli(decimal idAttivazioneMagFam)
        {
            List <ElencoFamiliariModel> lefm = new List <ElencoFamiliariModel>();

            try
            {
                using (dtFigli dtf = new dtFigli())
                {
                    List <FigliModel> lfm = dtf.GetListaFigliByIdAttivazione(idAttivazioneMagFam).ToList();

                    if (lfm?.Any() ?? false)
                    {
                        using (dtDocumenti dtd = new dtDocumenti())
                        {
                            using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari())
                            {
                                foreach (var e in lfm)
                                {
                                    ElencoFamiliariModel efm = new ElencoFamiliariModel()
                                    {
                                        idMaggiorazioniFamiliari = e.idMaggiorazioniFamiliari,
                                        idFamiliare         = e.idFigli,
                                        idAttivazioneMagFam = e.idAttivazioneMagFam,
                                        Nominativo          = e.cognome + " " + e.nome,
                                        CodiceFiscale       = e.codiceFiscale,
                                        dataInizio          = e.dataInizio,
                                        dataFine            = e.dataFine,
                                        parentela           = EnumParentela.Figlio,
                                        idAltriDati         = dtadf.GetAltriDatiFamiliariFiglio(e.idFigli, idAttivazioneMagFam).idAltriDatiFam,
                                        Documenti           = dtd.GetDocumentiIdentitaFigli(e.idFigli, idAttivazioneMagFam)
                                    };

                                    lefm.Add(efm);
                                }
                            }
                        }
                    }



                    bool solaLettura = false;
                    solaLettura = this.SolaLetturaPartenza(idAttivazioneMagFam);
                    ViewData.Add("solaLettura", solaLettura);

                    ViewData.Add("idAttivazioneMagFam", idAttivazioneMagFam);

                    return(PartialView(lefm));
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }
        }
        public ActionResult InserisciAltriDatiFamiliariFiglio(AltriDatiFamFiglioModel adf, decimal idAttivazioneMagFam)
        {
            try
            {
                adf.dataAggiornamento = DateTime.Now;
                adf.idStatoRecord     = (decimal)EnumStatoRecord.In_Lavorazione;
                adf.FK_idAltriDatiFam = null;

                if (ModelState.IsValid)
                {
                    using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari())
                    {
                        dtadf.SetAltriDatiFamiliariFiglio(ref adf, idAttivazioneMagFam);
                    }
                }
                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
                        });
                    }

                    ViewData.Add("Comuni", comuni);
                    ViewData.Add("idAttivazioneMagFam", idAttivazioneMagFam);
                    using (dtFigli dtf = new dtFigli())
                    {
                        string nominativo = dtf.GetFigliobyID(adf.idFigli).nominativo.ToUpper();
                        ViewData.Add("nominativo", nominativo);
                    }

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

            return(RedirectToAction("AltriDatiFamiliariFiglio", new { idFiglio = adf.idFigli, idAttivazioneMagFam = idAttivazioneMagFam }));
        }
        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 AltriDatiFamiliariFiglioTitoliViaggio(decimal idFiglio)
        {
            AltriDatiFamFiglioModel     adf = new AltriDatiFamFiglioModel();
            MaggiorazioniFamiliariModel mcm = new MaggiorazioniFamiliariModel();
            TrasferimentoModel          tm  = new TrasferimentoModel();

            try
            {
                using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari())
                {
                    //adf = dtadf.GetAlttriDatiFamiliariFiglio(idFiglio);
                }
                using (dtMaggiorazioniFamiliari dtmc = new dtMaggiorazioniFamiliari())
                {
                    mcm = dtmc.GetMaggiorazioniFamiliaribyFiglio(idFiglio);
                }

                using (dtPercentualeMagFigli dtpmf = new dtPercentualeMagFigli())
                {
                    PercentualeMagFigliModel pf = dtpmf.GetPercentualeMaggiorazioneFigli(idFiglio, DateTime.Now);
                    if (pf != null && pf.HasValue())
                    {
                        switch (pf.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
                }));
            }

            using (dtTrasferimento dtt = new dtTrasferimento())
            {
                tm = dtt.GetTrasferimentoByIDMagFam(mcm.idMaggiorazioniFamiliari);
            }

            ViewData.Add("idTrasferimento", tm.idTrasferimento);


            using (dtFigli dtf = new dtFigli())
            {
                var fm = dtf.GetFigliobyID(adf.idFigli);
                adf.Figli = fm;
            }


            return(PartialView(adf));
        }
        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));
            }
        }