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")); }
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))); }
//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))); }
//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")); }
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)); }
//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))); }
/// <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); }