public IActionResult BaixarExamePDF(int id, string username) { try { ViewBag.MensagemBodyController = ""; ViewBag.MensagemBodyAction = ""; ViewBag.MensagemBody = ""; CarregarDadosUsuarioParaTela(); if ((ViewData["idUsuario"] != null) && ((int)ViewData["idUsuario"] != 0)) { if ((int)ViewData["flPacienteC"] != 0 && (int)ViewData["flExamesC"] != 0) { MemoryStream workStream = new MemoryStream(); DateTime dTime = DateTime.Now; Document doc = CriarDocumentoPDF(true); PdfWriter.GetInstance(doc, workStream).CloseStream = false; string strPDFFileName; if (id != 0 && username != null) { PDFBLL pdfBLL = new PDFBLL(); PDFDadosExame dadosExame = new PDFDadosExame(); dadosExame = pdfBLL.ConsultarDadosExamePreencherPDF(Convert.ToInt32(id), Convert.ToInt32(username)); strPDFFileName = string.Format("Solicitação Exame do Paciente " + dadosExame.nome + ".pdf"); if (dadosExame != null) { doc = LayoutPDFExame(doc, dadosExame); } else { HttpContext.Session.SetString("MensagemTitle", "Erro na consulta dos dados"); HttpContext.Session.SetString("MensagemBody", "Verifique os parametros passados!"); return(RedirectToAction("Index", "Home")); } } else { HttpContext.Session.SetString("MensagemTitle", "Erro na consulta dos dados"); HttpContext.Session.SetString("MensagemBody", "Verifique os parametros passados na URL!"); return(RedirectToAction("Index", "Home")); } byte[] byteInfo = workStream.ToArray(); workStream.Write(byteInfo, 0, byteInfo.Length); workStream.Position = 0; return(File(workStream, "application/pdf", strPDFFileName)); } else { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "O usuário " + ViewData["nome"] + " não tem acesso a página: 'Consulta/CadastrarConsulta'"); return(RedirectToAction("Index", "Home")); } } else { ViewData.Add("ReturnUrl", ((object[])this.ControllerContext.RouteData.Values.Values)[0] + "/" + ((object[])this.ControllerContext.RouteData.Values.Values)[1]); return(RedirectToAction("Signin", "Login", new { ReturnUrl = ViewData["ReturnUrl"] })); } } catch (Exception ex) { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "Exceção: " + ex.Message); return(RedirectToAction("Index", "Home")); } }
public IActionResult MostrarRelatorioPaciente(int id) { try { ViewBag.MensagemBodyController = ""; ViewBag.MensagemBodyAction = ""; ViewBag.MensagemBody = ""; CarregarDadosUsuarioParaTela(); if ((ViewData["idUsuario"] != null) && ((int)ViewData["idUsuario"] != 0)) { if ((int)ViewData["flPacienteC"] != 0 && (int)ViewData["flExamesC"] != 0) { MemoryStream workStream = new MemoryStream(); Document doc = CriarDocumentoPDF(true); PdfWriter.GetInstance(doc, workStream).CloseStream = false; if (id != 0) { PDFBLL pdfBLL = new PDFBLL(); DPFDadosPacienteModel dadosPaciente = new DPFDadosPacienteModel(); dadosPaciente = pdfBLL.ConsultarDadosPacientePreencherPDF(Convert.ToInt32(id)); if (dadosPaciente != null) { doc = LayoutPDFPaciente(doc, dadosPaciente); } else { HttpContext.Session.SetString("MensagemTitle", "Erro na consulta dos dados"); HttpContext.Session.SetString("MensagemBody", "O paciente não tem consulta cadastrada!"); return(RedirectToAction("Index", "Home")); } } else { HttpContext.Session.SetString("MensagemTitle", "Erro na consulta dos dados"); HttpContext.Session.SetString("MensagemBody", "Verifique os parametros passados na URL!"); return(RedirectToAction("Index", "Home")); } byte[] byteInfo = workStream.ToArray(); return(new FileContentResult(byteInfo, "application/pdf")); } else { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "O usuário " + ViewData["nome"] + " não tem acesso a página: 'Consulta/CadastrarConsulta'"); return(RedirectToAction("Index", "Home")); } } else { ViewData.Add("ReturnUrl", ((object[])this.ControllerContext.RouteData.Values.Values)[0] + "/" + ((object[])this.ControllerContext.RouteData.Values.Values)[1]); return(RedirectToAction("Signin", "Login", new { ReturnUrl = ViewData["ReturnUrl"] })); } } catch (Exception ex) { HttpContext.Session.SetString("MensagemTitle", "Erro"); HttpContext.Session.SetString("MensagemBody", "Exceção: " + ex.Message); return(RedirectToAction("Index", "Home")); } }