public JsonResult InserisciLetteraTrasferimento(decimal idTrasferimento, string protocolloLettera, DateTime dataLettera, HttpPostedFileBase file) { using (ModelDBISE db = new ModelDBISE()) { try { db.Database.BeginTransaction(); if (idTrasferimento <= 0) { throw new Exception("ID del trasferimento mancante."); } if (protocolloLettera == string.Empty) { throw new Exception("Il protocollo della lettera è obbligatorio."); } if (dataLettera == null && dataLettera <= DateTime.MinValue) { throw new Exception("La data della lettera è obbligatoria."); } using (dtTrasferimento dtt = new dtTrasferimento()) { TrasferimentoModel trm = dtt.GetSoloTrasferimentoById(idTrasferimento, db); trm.protocolloLettera = protocolloLettera; trm.dataLettera = dataLettera; dtt.EditTrasferimento(trm, db); 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.Lettera_Trasferimento); if (esisteFile) { if (gestisceEstensioni == false) { throw new Exception( "Il documento selezionato non è nel formato consentito. Il formato supportato è: pdf."); } if (dimensioneConsentita) { dtd.SetLetteraTrasferimento(ref dm, trm.idTrasferimento, db); //trm.Documento = dm; //Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento di una nuovo documento (lettera di trasferimento).", "Documenti", db, trm.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 = "La lettera di trasferimento è stata inserita." })); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); return(Json(new { err = ex.Message })); } } }