From 5a52120d9bc6d170b9d5ae71ffc325efe3eae935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 6 Sep 2024 18:53:41 +0300 Subject: [PATCH] Creating the User Interface part --- ...abp-studio-solution-runner-graph-build.png | Bin 0 -> 18715 bytes ...abp-studio-solution-runner-orders-page.png | Bin 0 -> 45015 bytes .../sql-server-orders-table-content.png | Bin 0 -> 8616 bytes .../images/visual-studio-pages-folder.png | Bin 0 -> 9439 bytes docs/en/tutorials/modular-crm/part-05.md | 104 ++++++++++++++++++ 5 files changed, 104 insertions(+) create mode 100644 docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-graph-build.png create mode 100644 docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-orders-page.png create mode 100644 docs/en/tutorials/modular-crm/images/sql-server-orders-table-content.png create mode 100644 docs/en/tutorials/modular-crm/images/visual-studio-pages-folder.png diff --git a/docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-graph-build.png b/docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-graph-build.png new file mode 100644 index 0000000000000000000000000000000000000000..e981249ba1a1e2554679815a9ba95e7ed4444fad GIT binary patch literal 18715 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 JW_pDt{0U-Nf7Jj0 literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-orders-page.png b/docs/en/tutorials/modular-crm/images/abp-studio-solution-runner-orders-page.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9aff41a04a44262360275c95ac106db67b3ee9 GIT binary patch literal 45015 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%0DoyP4)B7ViGcU+BpyM{A2vGEPE98B-Uc{x8w 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≤b}` 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 literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/sql-server-orders-table-content.png b/docs/en/tutorials/modular-crm/images/sql-server-orders-table-content.png new file mode 100644 index 0000000000000000000000000000000000000000..3e3794e53627940fd5ca3720be583f0707d111ea GIT binary patch literal 8616 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 literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/visual-studio-pages-folder.png b/docs/en/tutorials/modular-crm/images/visual-studio-pages-folder.png new file mode 100644 index 0000000000000000000000000000000000000000..65fa704be4d8114e941d894379bd0e27e2ca6953 GIT binary patch literal 9439 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 literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/part-05.md b/docs/en/tutorials/modular-crm/part-05.md index ca300771dd..601468df46 100644 --- a/docs/en/tutorials/modular-crm/part-05.md +++ b/docs/en/tutorials/modular-crm/part-05.md @@ -228,4 +228,108 @@ After the operation completes, you can check your database to see the new `Order ![sql-server-products-database-table](images/sql-server-orders-database-table.png) +## Creating the User Interface + +Since this is a non-layered module, we can directly use entities and repositories on the user interface. If you think that is not a good practice, then use the layered module template as we've already done for the *Products* module. But for the Ordering module, we will keep it very simple for this tutorial to show it is also possible. + +### Creating a `_ViewImports.cshtml` File + +Open the `ModularCrm.Ordering` .NET solution in your favorite IDE, locate the `ModularCrm.Ordering` project and create a `Pages` folder under that project. Then add a `_ViewImports.cshtml` file under that `Pages` folder with the following content: + +````csharp +@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap +@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling +```` + +That file simply imports some tag helpers from ASP.NET Core and ABP. The `Pages` folder should be like the following figure: + +![visual-studio-pages-folder](images/visual-studio-pages-folder.png) + +### Creating the Orders Page + +Create an `Orders` folder under the `Pages` folder and add an `Index.cshtml` Razor Page inside that new folder. Then replace the `Index.cshtml.cs` content with the following code block: + +````csharp +using Microsoft.AspNetCore.Mvc.RazorPages; +using ModularCrm.Ordering.Entities; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using Volo.Abp.Domain.Repositories; + +namespace ModularCrm.Ordering.Pages.Orders +{ + public class IndexModel : PageModel + { + public List Orders { get; set; } + + private readonly IRepository _orderRepository; + + public IndexModel(IRepository orderRepository) + { + _orderRepository = orderRepository; + } + + public async Task OnGetAsync() + { + Orders = await _orderRepository.GetListAsync(); + } + } +} +```` + +Here, we are injecting a repository to query `Order` entities from database to show on the page. Open the `Index.cshtml` file and replace the content with the following code block: + +````html +@page +@model ModularCrm.Ordering.Pages.Orders.IndexModel + +

Orders

+ + + + + @foreach (var order in Model.Orders) + { + + Customer: @order.CustomerName
+ Product: @order.ProductId
+ State: @order.State +
+ } +
+
+
+```` + +This page simply shows a list of orders on the UI. We haven't created a UI to create new orders, and we will not do it to keep this tutorial simple. If you want to learn how to create advanced UIs with ABP, please follow the [Book Store tutorial](../book-store/index.md). + +### Creating Some Sample Data + +You can open the database and manually create a few order records to show on the UI: + +![sql-server-orders-table-content](images/sql-server-orders-table-content.png) + +You can get `ProductId` values from the `Products` table and [generate](https://www.guidgenerator.com/) some random GUIDs for other GUID fields. + +### Building the Application + +Now, we will run the application to see the result. First of all, stop the application if it is already running. Then open the *Solution Runner* panel, right-click the `ModularCrm.Web` application, select the *Build* -> *Graph Build* command: + +![abp-studio-solution-runner-graph-build](images/abp-studio-solution-runner-graph-build.png) + +We've performed a graph build since we've made a change on a module and only building the main application is not enough. *Graph Build* command also builds the depended modules if it is necessary. Alternatively, you could build the Ordering module first (on ABP Studio or on your IDE), then Build right-click the `ModularCrm.Web` application and select the *Run* -> *Build & Start*. This approach can be faster if you have too many modules and you made change in one of the modules. + +### Running the Application + +Run the main application on ABP Studio, manually type `/Orders` to end of your application's URL to open the *Orders* page: + +![abp-studio-solution-runner-orders-page](images/abp-studio-solution-runner-orders-page.png) + +Great! We can see the list of orders. However, we don't see the Orders item on the main menu. This is because we haven't configured the [navigation menu system](../../framework/ui/mvc-razor-pages/navigation-menu.md) yet. + +### Adding a Menu Item + TODO \ No newline at end of file