コード例 #1
0
ファイル: PDFController.cs プロジェクト: DeivisHenri/SGCM
        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"));
            }
        }
コード例 #2
0
ファイル: PDFController.cs プロジェクト: DeivisHenri/SGCM
        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"));
            }
        }