Example #1
0
        private async Task <byte[]> GerarAnexoPDF(int numeroPedido)
        {
            try
            {
                var pedido = await _pedidoAppServices.GetPedido(numeroPedido);

                var user = await _userManager.FindByIdAsync(pedido.userId);

                var empresa = await _empresaAppServices.GetEmpresaByUserId(pedido.userId);

                var usuario = await _usuarioAppServices.GetByUserIdAsync(pedido.userId);

                var produtos = await _pedidoAppServices.GetProdutosByPedido(pedido.Id);

                var quantidadeArmacoes = produtos.Sum(x => x.Quantidade);

                var pdfImpressaoModel = new ImpressaoPedidoViewModel(pedido, produtos.OrderBy(x => x.Produto.Referencia), user.Email, empresa, usuario.NomeCompleto, quantidadeArmacoes);

                var pdf = new ViewAsPdf
                {
                    Model    = pdfImpressaoModel,
                    ViewName = "Impressao",
                    FileName = "teste"
                };

                return(await pdf.BuildFile(ControllerContext));
            }
            catch (Exception)
            {
                return(null);
            }
        }
Example #2
0
        public async Task <IActionResult> Impressao(int pedido)
        {
            try
            {
                var pedidoViewModel = await _pedidoAppServices.GetPedido(pedido);

                var userIdPedido = pedidoViewModel.userId;

                var user = await _userManager.GetUserAsync(User);

                if (userIdPedido == user.Id)
                {
                    return(await _pedidoAppServices.GerarPedidoPdf(pedidoViewModel, user.Email));
                }

                var impressaoViewModel = new ImpressaoPedidoViewModel
                {
                    StatusModel             = "Error",
                    PedidoViewModel         = new PedidoDetailsViewModel(),
                    ProdutosPedidoViewModel = new List <ProdutosPedidoViewModel>()
                };

                ModelState.AddModelError(string.Empty, "Pedido não pertence ao usuário logado.");


                return(View(impressaoViewModel));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #3
0
        public async Task <ViewAsPdf> GerarPedidoPdf(PedidoDetailsViewModel pedido, string email)
        {
            var empresa = await _empresaAppServices.GetEmpresaByUserId(pedido.userId);

            var usuario = await _usuarioServices.GetByUserIdAsync(pedido.userId);

            var produtos = await GetProdutosByPedido(pedido.Id);

            var quantidadeArmacoes = produtos.Sum(x => x.Quantidade);

            var pdfImpressaoModel = new ImpressaoPedidoViewModel(pedido, produtos.OrderBy(x => x.Produto.Referencia), email, empresa, usuario.NomeCompleto, quantidadeArmacoes);

            var pdf = new ViewAsPdf
            {
                Model    = pdfImpressaoModel,
                ViewName = "Impressao"
            };

            return(pdf);
        }