コード例 #1
0
        public void SetPassaportoRichiedente(ref PassaportoRichiedenteModel prm, ModelDBISE db)
        {
            PASSAPORTORICHIEDENTE pr = new PASSAPORTORICHIEDENTE()
            {
                IDPASSAPORTI            = prm.idPassaporto,
                IDATTIVAZIONIPASSAPORTI = prm.idAttivazionePassaporti,
                INCLUDIPASSAPORTO       = prm.includiPassaporto,
                DATAAGGIORNAMENTO       = DateTime.Now,
                ANNULLATO = false,
            };

            var ap = db.ATTIVAZIONIPASSAPORTI.Find(prm.idAttivazionePassaporti);

            ap.PASSAPORTORICHIEDENTE.Add(pr);

            int i = db.SaveChanges();

            if (i > 0)
            {
                prm.idPassaportoRichiedente = pr.IDPASSAPORTORICHIEDENTE;

                Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento,
                                       "Inizializzazione dei dati per il passaporto del richiedente", "PASSAPORTORICHIEDENTE", db,
                                       pr.PASSAPORTI.TRASFERIMENTO.IDTRASFERIMENTO, pr.IDPASSAPORTORICHIEDENTE);
            }
        }
コード例 #2
0
        public JsonResult InserisciDocumentoPassaporto(decimal idTrasferimento, decimal idTipoDocumento, HttpPostedFileBase file, decimal idFamiliarePassaporto, decimal idParentela)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                PASSAPORTORICHIEDENTE pr = new PASSAPORTORICHIEDENTE();
                CONIUGEPASSAPORTO     cp = new CONIUGEPASSAPORTO();
                FIGLIPASSAPORTO       fp = new FIGLIPASSAPORTO();
                try
                {
                    db.Database.BeginTransaction();

                    using (dtVariazionePassaporto dtvp = new dtVariazionePassaporto())
                    {
                        AttivazionePassaportiModel apm = new AttivazionePassaportiModel();

                        //cerco l'attivazione della seconda fase in corso
                        apm = dtvp.GetAttivazioneInvioPassaportiInLavorazione(idTrasferimento, db);

                        //se non esiste segnala errore
                        if ((apm != null && apm.idAttivazioniPassaporti > 0) == false)
                        {
                            throw new Exception("Fase Invio Passaporto non trovata");
                        }

                        using (dtDocumenti dtd = new dtDocumenti())
                        {
                            DocumentiModel dm                      = new DocumentiModel();
                            bool           esisteFile              = false;
                            bool           gestisceEstensioni      = false;
                            bool           dimensioneConsentita    = false;
                            string         dimensioneMaxConsentita = string.Empty;

                            Utility.PreSetDocumento(file, out dm, out esisteFile, out gestisceEstensioni,
                                                    out dimensioneConsentita, out dimensioneMaxConsentita,
                                                    (EnumTipoDoc)idTipoDocumento);

                            if (esisteFile)
                            {
                                if (gestisceEstensioni == false)
                                {
                                    throw new Exception(
                                              "Il documento selezionato non è nel formato consentito. Il formato supportato è: pdf.");
                                }

                                if (dimensioneConsentita)
                                {
                                    //verifica se il documento è gia presente ritornando l'eventuale id
                                    decimal idDocumentoEsistente = dtvp.VerificaEsistenzaDocumentoPassaporto(idTrasferimento, idTipoDocumento, idParentela, idFamiliarePassaporto);

                                    if (idDocumentoEsistente > 0)
                                    {
                                        //se già esiste lo sostituisco (imposto modificato=true su quello esistente e ne inserisco una altro)
                                        dtvp.SostituisciDocumentoPassaporto(ref dm, idDocumentoEsistente, apm.idAttivazioniPassaporti, db);
                                    }
                                    else
                                    {
                                        //se non esiste lo inserisco
                                        dtvp.SetDocumentoPassaporto(ref dm, apm.idAttivazioniPassaporti, db);
                                    }

                                    switch ((EnumParentela)idParentela)
                                    {
                                    case EnumParentela.Coniuge:
                                        dtvp.AssociaDocumentoPassaportoConiuge(idFamiliarePassaporto, dm.idDocumenti, db);
                                        break;

                                    case EnumParentela.Figlio:
                                        dtvp.AssociaDocumentoPassaportoFiglio(idFamiliarePassaporto, dm.idDocumenti, db);
                                        break;

                                    case EnumParentela.Richiedente:
                                        dtvp.GetPassaportoRichiedente_Invio(ref pr, apm.idAttivazioniPassaporti, db);
                                        dtvp.AssociaDocumentoPassaportoRichiedente(pr.IDPASSAPORTORICHIEDENTE, dm.idDocumenti, db);
                                        break;
                                    }

                                    Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuovo documento (maggiorazione abitazione).", "Documenti", db, idTrasferimento, dm.idDocumenti);
                                }
                                else
                                {
                                    throw new Exception(
                                              "Il documento selezionato supera la dimensione massima consentita (" +
                                              dimensioneMaxConsentita + " Mb).");
                                }
                            }
                            else
                            {
                                throw new Exception("Il documento è obbligatorio.");
                            }
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                    return(Json(new { msg = "Il documento è stato inserito." }));
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    return(Json(new { err = ex.Message }));
                }
            }
        }