예제 #1
0
        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);
        }
예제 #2
0
        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;
            }
        }