diff --git a/docs/en/tutorials/modular-crm/index.md b/docs/en/tutorials/modular-crm/index.md index b56d059d39..af34a79660 100644 --- a/docs/en/tutorials/modular-crm/index.md +++ b/docs/en/tutorials/modular-crm/index.md @@ -7,17 +7,10 @@ # Modular Monolith Application Development Tutorial -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` diff --git a/docs/en/tutorials/modular-crm/part-01.md b/docs/en/tutorials/modular-crm/part-01.md index 00d42fad3c..c2af1cd07d 100644 --- a/docs/en/tutorials/modular-crm/part-01.md +++ b/docs/en/tutorials/modular-crm/part-01.md @@ -7,17 +7,10 @@ # Creating the Initial Solution -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` @@ -42,7 +35,7 @@ In this first part of this tutorial, we will create a new ABP solution with modu Follow the *[Get Started](../../get-started/single-layer-web-application.md)* guide to create a single layer web application with the following configuration: * **Solution name**: `ModularCrm` -* **UI Framework**: {{if UI == "MVC"}}ASP.NET Core MVC / Razor Pages{{else if UI == "BlazorWebApp"}}Blazor WebApp{{end}} +* **UI Framework**: {{if UI == "MVC"}}ASP.NET Core MVC / Razor Pages{{else if UI == "BlazorWebApp"}}Blazor WebApp{{else if UI == "NG"}}Angular{{end}} * **Database Provider**: Entity Framework Core {{if UI == "NG"}}> **Note:** Angular users can continue with the Angular UI steps in the upcoming parts while following the same modularity flow. diff --git a/docs/en/tutorials/modular-crm/part-02.md b/docs/en/tutorials/modular-crm/part-02.md index ef38a09227..aa1f124e22 100644 --- a/docs/en/tutorials/modular-crm/part-02.md +++ b/docs/en/tutorials/modular-crm/part-02.md @@ -7,17 +7,10 @@ # Setting Up the Catalog Module -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` diff --git a/docs/en/tutorials/modular-crm/part-03.md b/docs/en/tutorials/modular-crm/part-03.md index 52e5098e60..e0db36d617 100644 --- a/docs/en/tutorials/modular-crm/part-03.md +++ b/docs/en/tutorials/modular-crm/part-03.md @@ -7,17 +7,10 @@ # Building the Catalog Module -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` @@ -639,4 +632,4 @@ yarn start ## Summary -In this part of the tutorial, you've built the functionality inside the _Catalog_ module, which was created in the [previous part](part-02.md), and created a basic {{if UI == "MVC"}}MVC{{else if UI == "NG"}}Angular{{end}} UI to list products. In the next part, you will create a new _Ordering_ module and install it into the main application. +In this part of the tutorial, you've built the functionality inside the _Catalog_ module, which was created in the [previous part](part-02.md), and created a basic {{if UI == "MVC"}}MVC{{else if UI == "BlazorWebApp"}}Blazor WebApp{{else if UI == "NG"}}Angular{{end}} UI to list products. In the next part, you will create a new _Ordering_ module and install it into the main application. diff --git a/docs/en/tutorials/modular-crm/part-04.md b/docs/en/tutorials/modular-crm/part-04.md index db119eed31..3c609c2c36 100644 --- a/docs/en/tutorials/modular-crm/part-04.md +++ b/docs/en/tutorials/modular-crm/part-04.md @@ -7,17 +7,10 @@ # Creating the Initial Ordering Module -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` @@ -55,11 +48,13 @@ Set `ModularCrm.Ordering` as the *Module name*, leave the *Output folder* as is {{if UI == "MVC"}} ![abp-studio-add-new-standard-module-ui-dialog](images/abp-studio-add-new-standard-module-ui-dialog.png) + +You can choose the type of UI you want to support in your module or select *No UI* if you don't need a user interface. In this example, we'll select the *MVC* option and click *Next*. + {{else if UI == "BlazorWebApp"}} ![abp-studio-add-new-standard-module-ui-dialog](images/abp-studio-add-new-standard-module-ui-dialog-blazor-webapp.png) -{{end}} -You can choose the type of UI you want to support in your module or select *No UI* if you don't need a user interface. In this example, we'll select the {{if UI == "MVC"}}*MVC*{{else if UI == "BlazorWebApp"}}*Blazor WebApp*{{end}} option and click *Next*. +You can choose the type of UI you want to support in your module or select *No UI* if you don't need a user interface. In this example, we'll select the *Blazor WebApp* option and click *Next*. {{else if UI == "NG"}} diff --git a/docs/en/tutorials/modular-crm/part-05.md b/docs/en/tutorials/modular-crm/part-05.md index c5582ec530..4387ff6908 100644 --- a/docs/en/tutorials/modular-crm/part-05.md +++ b/docs/en/tutorials/modular-crm/part-05.md @@ -7,17 +7,10 @@ # Building the Ordering Module -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` @@ -703,4 +696,4 @@ Navigate to the *Ordering* page and verify that the orders are listed. At this s ## Summary -In this part of the *Modular CRM* tutorial, you've built the functionality inside the Ordering module you created in the [previous part](part-04.md) and created a basic {{if UI == "MVC"}}MVC{{else if UI == "NG"}}Angular{{end}} UI to list orders. In the [next part](part-06.md), you will work on establishing communication between the Orders module and the Catalog module. +In this part of the *Modular CRM* tutorial, you've built the functionality inside the Ordering module you created in the [previous part](part-04.md) and created a basic {{if UI == "MVC"}}MVC{{else if UI == "BlazorWebApp"}}Blazor WebApp{{else if UI == "NG"}}Angular{{end}} UI to list orders. In the [next part](part-06.md), you will work on establishing communication between the Orders module and the Catalog module. diff --git a/docs/en/tutorials/modular-crm/part-06.md b/docs/en/tutorials/modular-crm/part-06.md index 7eb7c5faba..31cc0cb48c 100644 --- a/docs/en/tutorials/modular-crm/part-06.md +++ b/docs/en/tutorials/modular-crm/part-06.md @@ -7,17 +7,10 @@ # Integrating the Modules: Implementing Integration Services -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` @@ -293,6 +286,12 @@ Open the `Index.cshtml` file, and change the `@order.ProductId` part to `@order. ```` +That's all. Now, you can graph build the main application and run it in ABP Studio to see the result: + +![abp-studio-browser-list-of-orders-with-product-name](images/abp-studio-browser-list-of-orders-with-product-name.png) + +As you can see, we can see the product names instead of product IDs. + {{else if UI == "BlazorWebApp"}} Open the `Index.razor` file, and change the `@order.ProductId` part to `@order.ProductName` to write the product name instead of the product ID. The final `Index.razor` content should be the following: @@ -331,8 +330,6 @@ Open the `Index.razor` file, and change the `@order.ProductId` part to `@order.P } ```` -{{end}} - That's all. Now, you can graph build the main application and run it in ABP Studio to see the result: ![abp-studio-browser-list-of-orders-with-product-name](images/abp-studio-browser-list-of-orders-with-product-name.png) @@ -361,4 +358,4 @@ Then run the Angular app (`yarn start` in the `angular` folder), navigate to the ## Conclusion -In this part of the tutorial, you created and consumed an integration service between modules, then reflected the product name on the {{if UI == "MVC"}}MVC{{else if UI == "NG"}}Angular{{end}} UI. In the [next part](part-07.md), we will explore event based messaging between the modules. +In this part of the tutorial, you created and consumed an integration service between modules, then reflected the product name on the {{if UI == "MVC"}}MVC{{else if UI == "BlazorWebApp"}}Blazor WebApp{{else if UI == "NG"}}Angular{{end}} UI. In the [next part](part-07.md), we will explore event based messaging between the modules. diff --git a/docs/en/tutorials/modular-crm/part-07.md b/docs/en/tutorials/modular-crm/part-07.md index 2967b94dfa..540cb51610 100644 --- a/docs/en/tutorials/modular-crm/part-07.md +++ b/docs/en/tutorials/modular-crm/part-07.md @@ -7,17 +7,10 @@ # Integrating the Modules: Communication via Messages (Events) -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` diff --git a/docs/en/tutorials/modular-crm/part-08.md b/docs/en/tutorials/modular-crm/part-08.md index b7254b0c1f..f2739a53bb 100644 --- a/docs/en/tutorials/modular-crm/part-08.md +++ b/docs/en/tutorials/modular-crm/part-08.md @@ -5,22 +5,15 @@ } ``` -```json -//[doc-params] -{ - "UI": ["MVC", "NG"] -} -``` - -# Integrating the Modules: Joining the Products and Orders Data - ````json //[doc-params] { - "UI": ["MVC","BlazorWebApp"] + "UI": ["MVC", "BlazorWebApp", "NG"] } ```` +# Integrating the Modules: Joining the Products and Orders Data + ````json //[doc-nav] {