public ActionResult ElencoDocumentiPassaporto(decimal idFamiliarePassaporto, EnumTipoDoc tipoDoc, EnumParentela parentela, decimal idFaseCorrente) { List <DocumentiModel> ldm = new List <DocumentiModel>(); AttivazionePassaportiModel apm = new AttivazionePassaportiModel(); bool solaLettura = false; decimal idTrasferimento = 0; EnumStatoTraferimento statoTrasferimento; try { using (dtAttivazionePassaporto dtap = new dtAttivazionePassaporto()) { using (dtDocumenti dtd = new dtDocumenti()) { switch (parentela) { case EnumParentela.Coniuge: ldm = dtd.GetDocumentiIdentitaConiugePassaporto(idFamiliarePassaporto).ToList(); apm = dtap.GetAttivazionePassaportiByIdConiugePassaporto(idFamiliarePassaporto); break; case EnumParentela.Figlio: ldm = dtd.GetDocumentiIdentitaFiglioPassaporto(idFamiliarePassaporto).ToList(); apm = dtap.GetAttivazionePassaportiByIdFiglioPassaporto(idFamiliarePassaporto); break; case EnumParentela.Richiedente: ldm = dtd.GetDocumentiIdentitaRichiedentePassaporto(idFamiliarePassaporto).ToList(); apm = dtap.GetAttivazionePassaportiByIdRichiedente(idFamiliarePassaporto); break; default: throw new ArgumentOutOfRangeException("parentela"); } } } using (dtPratichePassaporto dtpp = new dtPratichePassaporto()) { bool notificaRichiesta = false; bool attivazioneRichiesta = false; bool annullaRichiesta = false; dtpp.SituazionePassaporto(apm.idAttivazioniPassaporti, out notificaRichiesta, out attivazioneRichiesta, out annullaRichiesta); if (notificaRichiesta == true || attivazioneRichiesta == true) { solaLettura = true; } else { solaLettura = false; } //var idFasePassaportiCorrente = dtpp.GetFasePassaporti_Corrente(apm.idPassaporti); if (idFaseCorrente == (decimal)EnumFasePassaporti.Invio_Passaporti) { solaLettura = true; } } using (dtTrasferimento dtt = new dtTrasferimento()) { var t = dtt.GetTrasferimentoByIdAttPassaporto(apm.idAttivazioniPassaporti); idTrasferimento = t.idTrasferimento; statoTrasferimento = t.idStatoTrasferimento; if (statoTrasferimento == EnumStatoTraferimento.Attivo || statoTrasferimento == EnumStatoTraferimento.Annullato) { solaLettura = true; } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } ViewData.Add("solaLettura", solaLettura); ViewData.Add("idFamiliarePassaporto", idFamiliarePassaporto); ViewData.Add("tipoDoc", (decimal)tipoDoc); ViewData.Add("idAttivazionePassaporto", apm.idAttivazioniPassaporti); ViewData.Add("parentela", (decimal)parentela); ViewData.Add("chiamante", (decimal)EnumChiamante.Passaporti); ViewData.Add("idTrasferimento", idTrasferimento); ViewData.Add("idFaseCorrente", idFaseCorrente); return(PartialView(ldm)); }