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); } }
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 })); } } }