public ActionResult MaggiorazioniFamiliari(decimal idTrasferimento, EnumCallElenco callElenco = EnumCallElenco.Coniuge) { MaggiorazioniFamiliariModel mfm = new MaggiorazioniFamiliariModel(); try { using (dtMaggiorazioniFamiliari dtmf = new dtMaggiorazioniFamiliari()) { mfm = dtmf.GetMaggiorazioniFamiliariByID(idTrasferimento); if (mfm?.idMaggiorazioniFamiliari > 0) { using (dtAttivazioniMagFam dtamf = new dtAttivazioniMagFam()) { var amf = dtamf.GetAttivazioneMagFamIniziale(mfm.idMaggiorazioniFamiliari); ViewData.Add("idAttivazioneMagFam", amf.idAttivazioneMagFam); } } else { throw new Exception("Maggiorazione familiare non trovata. IDTrasferimento: " + idTrasferimento); } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } ViewData.Add("callElenco", callElenco); return(PartialView()); }
public ActionResult SalvaDocumento(EnumTipoDoc tipoDoc, decimal id, EnumParentela parentela, decimal idAttivazioneMagFam = 0) { using (ModelDBISE db = new ModelDBISE()) { try { db.Database.BeginTransaction(); //throw new Exception("Simulazione errore"); foreach (string item in Request.Files) { HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase; using (dtAttivazioniMagFam dtamf = new dtAttivazioniMagFam()) { 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, tipoDoc); if (esisteFile) { if (gestisceEstensioni == false) { throw new Exception( "Il documento selezionato non è nel formato consentito. Il formato supportato è: pdf."); } if (dimensioneConsentita) { switch (tipoDoc) { case EnumTipoDoc.Carta_Imbarco: case EnumTipoDoc.Titolo_Viaggio: switch (parentela) { case EnumParentela.Coniuge: dtd.AddDocumentoFromConiuge(ref dm, id, db); break; case EnumParentela.Figlio: dtd.AddDocumentoFromFiglio(ref dm, id, db); break; case EnumParentela.Richiedente: dtd.AddDocumentoTitoloViaggioFromRichiedente(ref dm, id, db); break; default: throw new ArgumentOutOfRangeException("parentela"); } break; case EnumTipoDoc.Prima_Rata_Maggiorazione_abitazione: break; case EnumTipoDoc.Attestazione_Spese_Abitazione_Collaboratore: break; case EnumTipoDoc.Clausole_Contratto_Alloggio: break; case EnumTipoDoc.Copia_Contratto_Locazione: break; case EnumTipoDoc.Contributo_Fisso_Omnicomprensivo: break; case EnumTipoDoc.Attestazione_Trasloco: break; case EnumTipoDoc.Documento_Identita: switch (parentela) { case EnumParentela.Coniuge: dtd.AddDocumentoFromConiuge(ref dm, id, db); if (idAttivazioneMagFam > 0) { dtamf.AssociaDocumentoAttivazione(idAttivazioneMagFam, dm.idDocumenti, db); } break; case EnumParentela.Figlio: dtd.AddDocumentoFromFiglio(ref dm, id, db); if (idAttivazioneMagFam > 0) { dtamf.AssociaDocumentoAttivazione(idAttivazioneMagFam, dm.idDocumenti, db); } break; case EnumParentela.Richiedente: dtd.AddDocumentoPassaportoFromRichiedente(ref dm, id, db); //ID è riferito all'idTrasferimento. break; default: throw new ArgumentOutOfRangeException("parentela"); } break; case EnumTipoDoc.Lettera_Trasferimento: break; default: throw new ArgumentOutOfRangeException("tipoDoc"); } } 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 { })); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); return(Json(new { error = ex.Message })); }; } }