Beispiel #1
0
        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());
        }
Beispiel #2
0
        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));
                }
            }
        }