From 5c4c9763b512f8632d85fa9941f4ad25522675ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 4 Sep 2024 15:14:34 +0300 Subject: [PATCH] Completed the UI part of the tutorial --- .../abp-studio-browser-list-of-products.png | Bin 0 -> 44493 bytes ...p-studio-build-and-restart-application.png | Bin 0 -> 28642 bytes .../images/visual-studio-products-cshtml.png | Bin 0 -> 15180 bytes docs/en/tutorials/modular-crm/part-03.md | 68 ++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 docs/en/tutorials/modular-crm/images/abp-studio-browser-list-of-products.png create mode 100644 docs/en/tutorials/modular-crm/images/abp-studio-build-and-restart-application.png create mode 100644 docs/en/tutorials/modular-crm/images/visual-studio-products-cshtml.png diff --git a/docs/en/tutorials/modular-crm/images/abp-studio-browser-list-of-products.png b/docs/en/tutorials/modular-crm/images/abp-studio-browser-list-of-products.png new file mode 100644 index 0000000000000000000000000000000000000000..de4ea0bb2612ed6d2377df4ab45813efda7a0122 GIT binary patch literal 44493 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 N%c#64lrnn%-vD_UZMgsd literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/abp-studio-build-and-restart-application.png b/docs/en/tutorials/modular-crm/images/abp-studio-build-and-restart-application.png new file mode 100644 index 0000000000000000000000000000000000000000..87c2d3c2b7f60423037f86fe343c9908d1c5d2c8 GIT binary patch literal 28642 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 THw&;`97tAD2~r|%==XmBnB_@T literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/visual-studio-products-cshtml.png b/docs/en/tutorials/modular-crm/images/visual-studio-products-cshtml.png new file mode 100644 index 0000000000000000000000000000000000000000..c0b2721450fc5b0231f5d6ee7c5779c91134d671 GIT binary patch literal 15180 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 I(fjd#0Dc48ga7~l literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/part-03.md b/docs/en/tutorials/modular-crm/part-03.md index beead283b8..c497217a23 100644 --- a/docs/en/tutorials/modular-crm/part-03.md +++ b/docs/en/tutorials/modular-crm/part-03.md @@ -425,6 +425,74 @@ We've some entities in the database, and we can show them on the user interface In this section, we will create a very simple user interface to demonstrate how to build UI in the products module and make it working in the main application. +As a first step, stop the application on ABP Studio's Solution Runner if it is currently running. + +Open the `ModularCrm.Products` .NET solution in your IDE, find the `Pages/Products/Index.cshtml` file under the `ModularCrm.Products.Web` project: + +![visual-studio-products-cshtml](images/visual-studio-products-cshtml.png) + +Replace the `IndexModel.cshtml.cs` file with the following content: + +````csharp +using System.Collections.Generic; +using System.Threading.Tasks; + +namespace ModularCrm.Products.Web.Pages.Products; + +public class IndexModel : ProductsPageModel +{ + public List Products { get; set; } + + private readonly IProductAppService _productAppService; + + public IndexModel(IProductAppService productAppService) + { + _productAppService = productAppService; + } + + public async Task OnGetAsync() + { + Products = await _productAppService.GetListAsync(); + } +} +```` + +Here, we are simply using the `IProductAppService` to get a list of all products and assigning the result to the `Products` property. We can use it in the `Index.cshtml` file to show a simple list of products on the UI: + +````xml +@page +@using Microsoft.Extensions.Localization +@using ModularCrm.Products.Localization +@using ModularCrm.Products.Web.Pages.Products +@model ModularCrm.Products.Web.Pages.Products.IndexModel +@inject IStringLocalizer L + +

    Products

    + + + + + @foreach (var product in Model.Products) + { + + @product.Name (stock: @product.StockCount) + + } + + + +```` + +You can build the product module's .NET solution (`ModularCrm.Products`), then right-click the `ModularCrm.Web` application on ABP Studio's solution runner and select the *Build & Restart* command: + +![abp-studio-build-and-restart-application](images/abp-studio-build-and-restart-application.png) + +Now, you can browse the *Products* page to see the list of the products: + +![abp-studio-browser-list-of-products](images/abp-studio-browser-list-of-products.png) + +As you see, it is pretty straightforward to develop a UI page in a modular ABP application. We kept the UI simple to focus on the modularity. If you want to learn how to build complex application UIs, please check the [Book Store Tutorial](../book-store/index.md). + TODO ## Notes