From 64dd85dc11fc47af6615421bd08539bc47e8a4da Mon Sep 17 00:00:00 2001 From: EngincanV Date: Sun, 2 Feb 2025 13:28:04 +0300 Subject: [PATCH] complete part-3 except listing products for angular UI. --- .../abp-studio-swagger-ui-in-browser-ng.png | Bin 0 -> 96580 bytes ...mongodb-products-database-table-filled.png | Bin 0 -> 22206 bytes docs/en/tutorials/modular-crm/part-03.md | 154 ++++++++++++++++-- 3 files changed, 144 insertions(+), 10 deletions(-) create mode 100644 docs/en/tutorials/modular-crm/images/abp-studio-swagger-ui-in-browser-ng.png create mode 100644 docs/en/tutorials/modular-crm/images/mongodb-products-database-table-filled.png diff --git a/docs/en/tutorials/modular-crm/images/abp-studio-swagger-ui-in-browser-ng.png b/docs/en/tutorials/modular-crm/images/abp-studio-swagger-ui-in-browser-ng.png new file mode 100644 index 0000000000000000000000000000000000000000..5828f9082969b402cde2d8dc3763d1da883dd9f4 GIT binary patch literal 96580 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 literal 0 HcmV?d00001 diff --git a/docs/en/tutorials/modular-crm/images/mongodb-products-database-table-filled.png b/docs/en/tutorials/modular-crm/images/mongodb-products-database-table-filled.png new file mode 100644 index 0000000000000000000000000000000000000000..bacaacdb1d31efec3da7bcdcd73f18cf9f8dc85c GIT binary patch literal 22206 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 MldHxg!<*6n31Etj!vFvP 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 2490bd8fc1..6aaec58cf5 100644 --- a/docs/en/tutorials/modular-crm/part-03.md +++ b/docs/en/tutorials/modular-crm/part-03.md @@ -25,7 +25,7 @@ In this part, you will learn how to create entities and services and a basic use > **This module's functionality will be minimal to focus on modularity.** You can follow the [Book Store tutorial](../book-store/index.md) to learn building more real-world applications with ABP. -If it is still running, please stop the web application before continuing with the tutorial. +If it is still running, please stop the applications before continuing with the tutorial. ## Creating a `Product` Entity @@ -33,7 +33,7 @@ Open the `ModularCrm.Products` module in your favorite IDE. You can right-click ![abp-studio-open-with-visual-studio](images/abp-studio-open-with-visual-studio.png) -The `ModularCrm.Products` .NET solution should look like the following figure: +The `ModularCrm.Products` .NET solution should look like the following figure (slightly differ according to your preferences): ![product-module-visual-studio](images/product-module-visual-studio.png) @@ -54,10 +54,12 @@ public class Product : AggregateRoot ## Mapping Entity to Database -The next step is to configure the Entity Framework Core `DbContext` class and the database for the new entity. +The next step is to configure the {{if DB=="EF"}}Entity Framework Core{{else}}MongoDB{{end}} `DbContext` class and the database for the new entity. ### Add a `DbSet` Property +{{if DB=="EF"}} + Open the `ProductsDbContext` in the `ModularCrm.Products.EntityFrameworkCore` project and add a new `DbSet` property for the `Product` entity. The final `ProductsDbContext.cs` file content should be the following: ````csharp @@ -104,11 +106,63 @@ namespace ModularCrm.Products.EntityFrameworkCore; [ConnectionStringName(ProductsDbProperties.ConnectionStringName)] public interface IProductsDbContext : IEfCoreDbContext { - DbSet Products { get; set; } + DbSet Products { get; } +} +```` + +{{ else }} + +Open the `ProductsMongoDbContext` in the `ModularCrm.Products.MongoDB` project and add a new `DbSet` property for the `Product` entity. The final `ProductsMongoDbContext.cs` file content should be the following: + +```cs +using MongoDB.Driver; +using Volo.Abp.Data; +using Volo.Abp.MongoDB; + +namespace ModularCrm.Products.MongoDB; + +[ConnectionStringName(ProductsDbProperties.ConnectionStringName)] +public class ProductsMongoDbContext : AbpMongoDbContext, IProductsMongoDbContext +{ + public IMongoCollection Products => Collection(); + + protected override void CreateModel(IMongoModelBuilder modelBuilder) + { + base.CreateModel(modelBuilder); + + modelBuilder.ConfigureProducts(); + } +} +``` + +The `ProductsMongoDbContext` class implements the `IProductsMongoDbContext` interface. Add the following property to the `IProductsMongoDbContext` interface: + +````csharp +IMongoCollection Products { get; set; } +```` + +The final `IProductsMongoDbContext` interface should be the following: + +````csharp +using MongoDB.Driver; +using Volo.Abp.Data; +using Volo.Abp.MongoDB; + +namespace ModularCrm.Products.MongoDB; + +[ConnectionStringName(ProductsDbProperties.ConnectionStringName)] +public interface IProductsMongoDbContext : IAbpMongoDbContext +{ + IMongoCollection Products { get; set; } } ```` -Having such an `IProductsDbContext` interface allows us to decouple our repositories (and other classes) from the concrete `ProductsDbContext` class. This provides flexibility to the final application to merge multiple `DbContext`s into a single `DbContext` to manage database migrations easier and have a database level transaction support for multi-module database operations. +{{ end }} + + +Having such an {{if DB=="EF"}}`IProductsDbContext`{{else}}`IProductsMongoDbContext`{{end}} interface allows us to decouple our repositories (and other classes) from the concrete {{if DB=="EF"}}`ProductsDbContext`{{else}}`ProductsMongoDbContext`{{end}} class. This provides flexibility to the final application to merge multiple `DbContext`s into a single `DbContext` to manage database migrations easier and have a database level transaction support for multi-module database operations. + +{{if DB=="EF"}} ### Configure the Table Mapping @@ -161,9 +215,11 @@ You can set a `DbSchema` to collect a module's tables under a separate schema (i At that point, build the `ModularCrm.Products` .NET solution in your IDE (or ABP Studio UI). We will switch to the main application's .NET solution. +{{ end }} + ### Configuring the Main Application Database -We changed the Entity Framework Core configuration. The next step should be adding a new code-first database migration and updating the database so the new Products table is created on the database. +We changed the {{if DB=="EF"}}Entity Framework Core{{else}}MongoDB{{end}} configuration. The next step should be adding a new code-first database migration and updating the database so the new Products table is created on the database. We are not managing the database migrations in the module. Instead, the main application decides which DBMS (Database Management System) to use and how to share physical database(s) among modules. We will store all the modules' data in a single physical database to simplify this tutorial. @@ -183,13 +239,25 @@ Follow the three steps below; **(1)** Add the following attribute on top of the `ModularCrmDbContext` class: +{{if DB=="EF"}} + ````csharp [ReplaceDbContext(typeof(IProductsDbContext))] ```` +{{else}} + +````csharp +[ReplaceDbContext(typeof(IProductsMongoDbContext))] +```` + +{{end}} + `ReplaceDbContext` attribute makes it possible to use the `ModularCrmDbContext` class in the services in the Products module. -**(2)** Implement the `IProductsDbContext` by the `ModularCrmDbContext` class: +**(2)** Implement the {{if DB=="EF"}}`IProductsDbContext`{{else}}`IProductsMongoDbContext`{{end}} by the `ModularCrmDbContext` class: + +{{if DB=="EF"}} ````csharp [ReplaceDbContext(typeof(IProductsDbContext))] @@ -202,7 +270,24 @@ public class ModularCrmDbContext : } ```` -**(3)** Finally, call the `ConfigureProducts()` extension method inside the `OnModelCreating` method after other `Configure...` module calls: +{{else}} + +````csharp +[ReplaceDbContext(typeof(IProductsMongoDbContext))] +public class ModularCrmDbContext : + AbpMongoDbContext, + IProductsMongoDbContext +{ + public IMongoCollection Products => Collection(); + ... +} +```` + +{{end}} + +**(3)** Finally, call the `ConfigureProducts()` extension method inside the {{if DB=="EF"}}`OnModelCreating`{{else}}`CreateModel`{{end}} method: + +{{if DB=="EF"}} ````csharp protected override void OnModelCreating(ModelBuilder builder) @@ -212,7 +297,22 @@ protected override void OnModelCreating(ModelBuilder builder) } ```` -In this way, `ModularCrmDbContext` can be used by the products module over the `IProductsDbContext` interface. This part is only needed once for a module. Next time, you can add a new database migration, as explained in the next section. +{{else}} + +```csharp +protected override void CreateModel(IMongoModelBuilder modelBuilder) +{ + base.CreateModel(modelBuilder); + + modelBuilder.ConfigureProducts(); //NEW: CALL THE EXTENSION METHOD +} +``` + +{{end}} + +In this way, `ModularCrmDbContext` can be used by the products module over the {{if DB=="EF"}}`IProductsDbContext`{{else}}`IProductsMongoDbContext`{{end}} interface. This part is only needed once for a module. Next time, you can add a new database migration, as explained in the next section. + +{{ if DB == "EF" }} #### Add a Database Migration @@ -240,6 +340,8 @@ After the operation completes, you can check your database to see the new `Produ ![sql-server-products-database-table](images/sql-server-products-database-table.png) +{{ end }} + ## Creating the Application Service Now, we will create an [application service](../../framework/architecture/domain-driven-design/application-services.md) to perform some use cases related to products. @@ -370,8 +472,16 @@ We've added the `CreateMap();` line to define the mapping. ### Exposing Application Services as HTTP API Controllers +{{ if UI == "MVC" }} + For this application, we don't need to create HTTP API endpoints for the products module. But it is good to understand how to do it when you need it. You have two options; +{{ else }} + +For this application, we need to create HTTP API endpoints for the products module to use them in our angular application. To do that, you have two options: + +{{ end }} + * You can create a regular ASP.NET Core Controller class in the `ModularCrm.Products.HttpApi` project, inject `IProductAppService` and use it to create wrapper methods. We will do this later while we create the Ordering module. * Alternatively, you can use the ABP's [Auto API Controllers](../../framework/api-development/auto-controllers.md) feature to expose your application services as API controllers by conventions. We will do it here. @@ -417,8 +527,16 @@ After the build process completes, open the Solution Runner panel and click the Once you see the user interface of the web application, type `/swagger` at the end of the URL to open the Swagger UI. If you scroll down, you should see the `Products` API: +{{ if UI == "MVC" }} + ![abp-studio-swagger-ui-in-browser](images/abp-studio-swagger-ui-in-browser.png) +{{ else if UI == "NG" }} + +![abp-studio-swagger-ui-in-browser-ng](images/abp-studio-swagger-ui-in-browser-ng.png) + +{{ end }} + Expand the `/api/products/product` API and click the *Try it out* button as shown in the following figure: ![abp-studio-swagger-ui-create-product-try](images/abp-studio-swagger-ui-create-product-try.png) @@ -429,15 +547,25 @@ Then, create a few products by filling in the *Request body* and clicking the *E If you check the database, you should see the entities created in the `Products` table: +{{ if DB == "EF" }} + ![sql-server-products-database-table-filled](images/sql-server-products-database-table-filled.png) +{{ else }} + +![mongodb-products-database-table-filled](images/mongodb-products-database-table-filled.png) + +{{ end }} + We've some entities in the database; we can show them on the user interface now. ## Creating 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 work in the main application. -As a first step, you can stop the application on ABP Studio's Solution Runner if it is currently running. +As a first step, you can stop all applications on ABP Studio's Solution Runner if they are currently running. + +{{ if UI == "MVC" }} Open the `ModularCrm.Products` .NET solution in your IDE, and find the `Pages/Products/Index.cshtml` file under the `ModularCrm.Products.Web` project: @@ -503,6 +631,12 @@ 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) +{{ else if UI == "NG" }} + +//TODO: get help from @angular-team + +{{ end }} + As you can see, developing a UI page in a modular ABP application is pretty straightforward. We kept the UI very simple to focus on modularity. To learn how to build complex application UIs, please check the [Book Store Tutorial](../book-store/index.md). ## Final Notes