public void SetAttivazioniPassaporti(ref AttivazionePassaportiModel apm, ModelDBISE db)
        {
            ATTIVAZIONIPASSAPORTI ap = new ATTIVAZIONIPASSAPORTI()
            {
                IDPASSAPORTI          = apm.idPassaporti,
                NOTIFICARICHIESTA     = apm.notificaRichiesta,
                DATANOTIFICARICHIESTA = apm.dataNotificaRichiesta,
                PRATICACONCLUSA       = apm.praticaConclusa,
                DATAPRATICACONCLUSA   = apm.dataPraticaConclusa,
                //ESCLUDIPASSAPORTO = apm.escludiPassaporto,
                DATAAGGIORNAMENTO = apm.dataAggiornamento,
                ANNULLATO         = apm.annullato,
                IDFASEPASSAPORTI  = apm.idFasePassaporti
            };

            var p = db.PASSAPORTI.Find(ap.IDPASSAPORTI);

            p.ATTIVAZIONIPASSAPORTI.Add(ap);

            int i = db.SaveChanges();

            if (i <= 0)
            {
                throw new Exception("Errore nella fase d'inserimento per le attivazioni del passaporto.");
            }
            else
            {
                apm.idAttivazioniPassaporti = ap.IDATTIVAZIONIPASSAPORTI;

                Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento,
                                       "Inserimento dei dati per le attivazioni del passaporto", "ATTIVAZIONIPASSAPORTI", db,
                                       p.TRASFERIMENTO.IDTRASFERIMENTO, ap.IDATTIVAZIONIPASSAPORTI);
            }
        }
        public GestioneChkincludiPassaportoModel GetGestioneInludiPassaporto(decimal idAttivazionePassaporto, decimal idFamiliarePassaporto, EnumParentela parentela, bool esisteDoc, bool includiPassaporto)
        {
            GestioneChkincludiPassaportoModel gcip = new GestioneChkincludiPassaportoModel();
            bool dchk = false;

            using (ModelDBISE db = new ModelDBISE())
            {
                using (dtPratichePassaporto dtpp = new dtPratichePassaporto())
                {
                    ATTIVAZIONIPASSAPORTI ap = new ATTIVAZIONIPASSAPORTI();

                    try
                    {
                        ap = db.ATTIVAZIONIPASSAPORTI.Find(idAttivazionePassaporto);

                        if (ap?.IDATTIVAZIONIPASSAPORTI <= 0)
                        {
                            throw new Exception("Ciclo di attivazione non presente.");
                        }

                        //EnumFasePassaporti FasePassaporti = dtpp.GetFasePassaporti(ap.IDPASSAPORTI);
                        var attivazioneFaseRichiesta = dtpp.FaseRichiestaPassaporti(ap.IDPASSAPORTI);
                        var attivazioneFaseInvio     = dtpp.FaseInvioPassaporti(ap.IDPASSAPORTI);



                        //bool faseRichiesta = false;
                        bool faseRichiestaNotificata = false;
                        //bool faseRichiestaAttivata = false;
                        //bool faseInvio = false;
                        bool faseInvioNotificata = false;
                        bool faseInvioAttivata   = false;
                        if (attivazioneFaseRichiesta.IDATTIVAZIONIPASSAPORTI > 0)
                        {
                            //faseRichiesta = true;
                            //faseRichiestaAttivata = attivazioneFaseRichiesta.PRATICACONCLUSA;
                            faseRichiestaNotificata = attivazioneFaseRichiesta.NOTIFICARICHIESTA;
                        }
                        if (attivazioneFaseInvio.IDATTIVAZIONIPASSAPORTI > 0)
                        {
                            //faseInvio = true;
                            faseInvioNotificata = attivazioneFaseInvio.NOTIFICARICHIESTA;
                            faseInvioAttivata   = attivazioneFaseInvio.PRATICACONCLUSA;
                        }

                        if (faseRichiestaNotificata || faseInvioAttivata || faseInvioNotificata || ap.PASSAPORTI.TRASFERIMENTO.IDSTATOTRASFERIMENTO == (decimal)EnumStatoTraferimento.Annullato)
                        //ap.NOTIFICARICHIESTA == true || ap.PRATICACONCLUSA == true || ap.PASSAPORTI.TRASFERIMENTO.IDSTATOTRASFERIMENTO==(decimal)EnumStatoTraferimento.Attivo )
                        {
                            dchk = true;
                        }

                        gcip = new GestioneChkincludiPassaportoModel()
                        {
                            idFamiliare       = idFamiliarePassaporto,
                            parentela         = parentela,
                            esisteDoc         = esisteDoc,
                            includiPassaporto = includiPassaporto,
                            disabilitaChk     = dchk,
                        };

                        return(gcip);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
            }
        }