public async Task <byte[]> GeraReportCartaoVacina(CartaoVacinaReportViewModel model) { var httpContext = new DefaultHttpContext { RequestServices = _service }; var actionContext = new ActionContext(httpContext, new RouteData(), new ActionDescriptor()); var bytePDF = new Rotativa.AspNetCore.ViewAsPdf("Report/Imunobiologico/ReportCartaoVacina", model) { PageOrientation = Orientation.Portrait, PageMargins = { Top = 8, Right = 8, Bottom = 8, Left = 8 }, FileName = string.Concat("ReportCartaoVacina", ".pdf"), CustomSwitches = "--footer-center \"| RG System - Tecnologia em Software! (27) 3150-9770 - www.rgsystem.com.br | Página [page] de [toPage] |\"" + " --footer-font-size \"9\" --footer-font-name \"calibri light\"" }.BuildFile(actionContext); return(await bytePDF); }
public CartaoVacinaReportViewModel GetCartaoVacinaByIndividuo(string ibge, int id, string sql_estrutura) { try { string sql = _cidadaocommand.GetCidadaoById; sql = sql.Replace("@csi_codpac", id.ToString()); sql = sql.Replace("@sql_estrutura", sql_estrutura); var cidadao = Helpers.HelperConnection.ExecuteCommand(ibge, conn => conn.QueryFirstOrDefault <Cidadao>(sql)); var vacinas = Helpers.HelperConnection.ExecuteCommand(ibge, conn => conn.Query <VacinaReportViewModel>(_command.GetReportCartaoVacina, new { @id = id })); var cartaovacina = new CartaoVacinaReportViewModel(); cartaovacina.itens.AddRange(vacinas); cartaovacina.paciente = $"{cidadao.csi_codpac} - {cidadao.csi_nompac}"; cartaovacina.dataNasc = cidadao.csi_dtnasc?.ToString("dd/MM/yyyy"); if (cidadao.csi_dtnasc != null) { var idade = Helpers.Helper.CalculaIdade(Convert.ToDateTime(cidadao.csi_dtnasc)); string mes = string.Empty; if (idade.Item2 != 0) { mes = $@"{idade.Item2} meses"; } cartaovacina.idade = $"{idade.Item1} anos {mes} {idade.Item3} Dias"; } cartaovacina.sexo = cidadao.csi_sexpac; cartaovacina.cns = cidadao.csi_ncartao; cartaovacina.nomemae = cidadao.csi_maepac; cartaovacina.cpf = cidadao.csi_cpfpac; return(cartaovacina); } catch (Exception ex) { throw ex; } }