public IActionResult Informacao(int?id) { var requisicao = new RequisicaoModel(HttpContextAccessor); if (id != null) { ViewBag.Registro = requisicao.CarregarRegistro(id); ViewBag.ItemRequisicao = requisicao.ObterItensRequisicao(id); } ViewBag.ListaStatus = new List <string>(new string[] { StatusRequisicao.Solicitar.GetDescription(), StatusRequisicao.Liberar.GetDescription(), StatusRequisicao.Coletar.GetDescription(), StatusRequisicao.Processar.GetDescription(), StatusRequisicao.Cancelar.GetDescription(), StatusRequisicao.Programar.GetDescription(), StatusRequisicao.Encerrar.GetDescription() }); var usuario = new UsuarioModel(HttpContextAccessor); ViewBag.ListaUsuario = usuario.ListaUsuario(); var equipamento = new EquipamentoModel(HttpContextAccessor); ViewBag.ListaEquipamento = equipamento.ListaEquipamento(); var estacao = new EstacaoModel(HttpContextAccessor); ViewBag.ListaEstacao = estacao.ListaEstacao(); return(View()); }
public IActionResult ImprimirHistorico(RequisicaoModel entity) { using (var doc = new PdfSharpCore.Pdf.PdfDocument()) { var page = doc.AddPage(); page.Size = PdfSharpCore.PageSize.A4; page.Orientation = PdfSharpCore.PageOrientation.Portrait; var graphics = XGraphics.FromPdfPage(page); var corFonte = XBrushes.Black; var textFormatter = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics); var fonteOrganzacao = new XFont("Arial", 10); var fonteDescricao = new XFont("Arial", 8, XFontStyle.BoldItalic); var titulodetalhes = new XFont("Arial", 14, XFontStyle.Bold); var fonteDetalhesDescricao = new XFont("Arial", 7); var qtdPaginas = doc.PageCount; textFormatter.DrawString(qtdPaginas.ToString(), new XFont("Arial", 10), corFonte, new PdfSharpCore.Drawing.XRect(578, 825, page.Width, page.Height)); var cabecalho = entity.CarregarRegistro(entity.Id); var fonteTitulo = new XFont("Arial", 20, XFontStyle.Bold); // CABEÇALHO textFormatter.DrawString("HISTÓRICO DE REQUISIÇÃO", fonteTitulo, corFonte, new XRect(20, 30, page.Width, page.Height)); // horizontal, vertical textFormatter.DrawString("Código requisição: ", fonteDescricao, corFonte, new XRect(20, 70, page.Width, page.Height)); textFormatter.DrawString(cabecalho.Id.ToString(), fonteOrganzacao, corFonte, new XRect(95, 69, page.Width, page.Height)); textFormatter.DrawString("Usuário requisitante: ", fonteDescricao, corFonte, new XRect(20, 90, page.Width, page.Height)); textFormatter.DrawString(cabecalho.NomeUsuarioResponsavel, fonteOrganzacao, corFonte, new XRect(105, 89, page.Width, page.Height)); textFormatter.DrawString("Data de abertura: ", fonteDescricao, corFonte, new XRect(20, 110, page.Width, page.Height)); textFormatter.DrawString(cabecalho.Data.ToString(), fonteOrganzacao, corFonte, new XRect(95, 109, page.Width, page.Height)); // DETALHE var tituloDetalhes = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics); tituloDetalhes.Alignment = PdfSharpCore.Drawing.Layout.XParagraphAlignment.Center; // COLUNAS var alturaTituloDetalhesY = 140; var detalhes = new PdfSharpCore.Drawing.Layout.XTextFormatter(graphics); detalhes.DrawString("Data de alteração", fonteDescricao, corFonte, new XRect(20, alturaTituloDetalhesY, page.Width, page.Height)); detalhes.DrawString("Descrição", fonteDescricao, corFonte, new XRect(200, alturaTituloDetalhesY, page.Width, page.Height)); detalhes.DrawString("Usuário", fonteDescricao, corFonte, new XRect(500, alturaTituloDetalhesY, page.Width, page.Height)); var dados = entity.ObterHistorico(entity.Id); //DADOS var alturaDetalhesItens = 160; foreach (var item in dados) { textFormatter.DrawString(item.DataAlteracao.ToString(), fonteDetalhesDescricao, corFonte, new XRect(21, alturaDetalhesItens, page.Width, page.Height)); textFormatter.DrawString(item.Descricao, fonteDetalhesDescricao, corFonte, new XRect(201, alturaDetalhesItens, page.Width, page.Height)); textFormatter.DrawString(item.NomeUsuario, fonteDetalhesDescricao, corFonte, new XRect(501, alturaDetalhesItens, page.Width, page.Height)); alturaDetalhesItens += 20; } //DOWNLOAD using (MemoryStream stream = new MemoryStream()) { var contantType = "application/pdf"; doc.Save(stream, false); var nomeArquivo = "Historico.pdf"; return(File(stream.ToArray(), contantType, nomeArquivo)); } } }