Lesson 31 - E-shop in ASP.NET Core MVC - Generating PDF invoices
In the previous lesson, E-shop in ASP.NET Core MVC - Order List 2, we made the order administration up and running for our e-shop in ASP.NET Core MVC. It's still necessary to add an option to download a PDF invoice when clicking on the prepared link.
The resulting invoice should look like this:
The Suggested Solution
We can create the invoice as an ordinary view (without a layout), which we can then convert to a PDF easily with the help of an add-on package. The advantage is that we can display the invoice in the browser too using the same action.
ViewModel
We'll prepare a viewmodel for the view with the necessary data. It's up to you whether you choose a more complex viewmodel with all the necessary data or a simple viewmodel which will then lazy-load the additional data. I'm going for this option because there will not be much data being downloaded and therefore the impact on the response should be minimal in this case:
public class InvoiceViewModel { public EOrder Order { get; set; } public AccountingSetting Settings { get; set; } public decimal TotalPrice { get; set; } }
Controller
We'll add an Invoice()
action to OrderController
in
which
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Buy this course
Before buying this article, you have to buy the previous one
This article is licensed: Premium no-reselling II, by buying this article, you agree with the terms of use.
Commercial article (licence no-reselling)
This article is based on many years of experience in the IT field, and describes how to develop a professional commercial product or parts, that can be directly used to generate profit or to get as a gate into the industry.
This knowledge is only for the members of our community who are working their way up to become IT professionals. Therefore, this knowledge is only available in exchange for credits. You can use the source code from this article for one commercial project. However, you will not be able to resell it. Simply put, you can't buy our article once and then sell our code multiple times. If you need to use this code a bit more extensively, we are ready to discuss Commercial licence options with you. You can find more info on this in the following article Licence.
Are you ready to become a professional? All you have to do is click here!.
Article description
Requested article covers this content:
In this ASP.NET Core MVC tutorial, we'll prepare a view for invoices including CSS. We'll generate PDF invoice files in C# .NET using an HTML template.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.