Example #1
0
        public virtual IActionResult OnGetPdfInvoice(int orderId)
        {
            //if (!_permissionService.Authorize(StandardPermissionProvider.ManageOrders)) {
            //    return AccessDeniedView();
            //}

            //a vendor should have access only to his products
            //var vendorId = 0;
            //if (_workContext.CurrentVendor != null)
            //{
            //    vendorId = _workContext.CurrentVendor.Id;
            //}

            //var order = _orderService.GetOrderById(orderId);
            var order  = _orderRepository.Find(orderId);
            var orders = new List <DAL.Data.Entities.Order>
            {
                order
            };

            byte[] bytes;
            using (var stream = new MemoryStream())
            {
                //_pdfService.PrintOrdersToPdf(stream, orders, _orderSettings.GeneratePdfInvoiceInCustomerLanguage ? 0 : _workContext.WorkingLanguage.Id, vendorId);
                _pdfService.PrintOrdersToPdf(stream, orders);
                bytes = stream.ToArray();
            }

            return(File(bytes, MimeTypes.ApplicationPdf, $"order_{order.Id}_{DateTime.Now.ToString("dd/MM/yyyy")}.pdf"));
        }
Example #2
0
        public ActionResult GetPdfInvoice(int id)
        {
            var order = _orderService.GetOrderById(id);

            if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId)
            {
                return(new HttpUnauthorizedResult());
            }

            var orders = new List <Order>();

            orders.Add(order);

            return(File(_pdfService.PrintOrdersToPdf(orders), MediaTypeNames.Application.Pdf, "order-{0}.pdf".FormatWith(order.Id)));
        }
Example #3
0
        //My account / Order details page / PDF invoice
        public ActionResult GetPdfInvoice(int orderId)
        {
            var order = _orderService.GetOrderById(orderId);

            if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId)
            {
                return(new HttpUnauthorizedResult());
            }

            var orders = new List <Order>();

            orders.Add(order);
            byte[] bytes;
            using (var stream = new MemoryStream())
            {
                _pdfService.PrintOrdersToPdf(stream, orders, _workContext.WorkingLanguage.Id);
                bytes = stream.ToArray();
            }
            return(File(bytes, "application/pdf", string.Format("order_{0}.pdf", order.Id)));
        }
Example #4
0
        //My account / Order details page / PDF invoice
        public virtual IActionResult GetPdfInvoice(int orderId)
        {
            var order = _orderService.GetOrderById(orderId);

            if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId)
            {
                return(Challenge());
            }

            var orders = new List <Order>();

            orders.Add(order);
            byte[] bytes;
            using (var stream = new MemoryStream())
            {
                _pdfService.PrintOrdersToPdf(stream, orders, _workContext.WorkingLanguage.Id);
                bytes = stream.ToArray();
            }
            return(File(bytes, MimeTypes.ApplicationPdf, $"order_{order.Id}.pdf"));
        }
Example #5
0
        public ActionResult GetPdfInvoice(int orderId)
        {
            var order = _orderService.GetOrderById(orderId);

            if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId)
            {
                return(new HttpUnauthorizedResult());
            }

            var orders = new List <Order>();

            orders.Add(order);
            string fileName = string.Format("order_{0}_{1}.pdf", order.OrderGuid, DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"));
            string filePath = string.Format("{0}content\\files\\ExportImport\\{1}", this.Request.PhysicalApplicationPath, fileName);

            _pdfService.PrintOrdersToPdf(orders, _workContext.WorkingLanguage, filePath);
            var pdfBytes = System.IO.File.ReadAllBytes(filePath);

            return(File(pdfBytes, "application/pdf", fileName));
        }
Example #6
0
        //My account / Order details page / PDF invoice
        public virtual async Task <IActionResult> GetPdfInvoice(string orderId, [FromServices] IPdfService pdfService)
        {
            var order = await _orderService.GetOrderById(orderId);

            if (order == null || order.Deleted || _workContext.CurrentCustomer.Id != order.CustomerId)
            {
                return(Challenge());
            }

            var orders = new List <Order>();

            orders.Add(order);
            byte[] bytes;
            using (var stream = new MemoryStream())
            {
                await pdfService.PrintOrdersToPdf(stream, orders, _workContext.WorkingLanguage.Id);

                bytes = stream.ToArray();
            }
            return(File(bytes, "application/pdf", string.Format("order_{0}.pdf", order.Id)));
        }
Example #7
0
 /// <summary>
 /// Print orders to PDF
 /// </summary>
 /// <param name="stream">Stream</param>
 /// <param name="orders">Orders</param>
 /// <param name="languageId">Language identifier; 0 to use a language used when placing an order</param>
 /// <param name="vendorId">Vendor identifier to limit products; 0 to to print all products. If specified, then totals won't be printed</param>
 public void PrintOrdersToPdf(Stream stream, IList <Order> orders, int languageId = 0, int vendorId = 0)
 {
     _pdfService.PrintOrdersToPdf(stream, orders, languageId, vendorId);
 }