From fb69daf8174f853b0b3ba627b9915683e556153f Mon Sep 17 00:00:00 2001 From: ahmetfarukulu Date: Mon, 30 Sep 2024 15:07:56 +0300 Subject: [PATCH] Refactor image file name in tutorial documentation, add new sections to part-05 for modular monolith doc --- .../visual-studio-ordering-contracts.png | Bin 0 -> 46999 bytes docs/en/tutorials/modular-crm/part-05.md | 58 +++++++++++++++++- 2 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 docs/en/tutorials/modular-crm/images/visual-studio-ordering-contracts.png diff --git a/docs/en/tutorials/modular-crm/images/visual-studio-ordering-contracts.png b/docs/en/tutorials/modular-crm/images/visual-studio-ordering-contracts.png new file mode 100644 index 0000000000000000000000000000000000000000..7064c940fe7cbe56a4fea710f037b3c4507972af GIT binary patch literal 46999 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 GetListAsync(); + Task CreateAsync(OrderCreationDto input); +} ```` +### Defining Data Transfer Objects + +The `GetListAsync` and `CreateAsync` methods will use data transfer objects (DTOs) to communicate with the client. We will create two DTO classes for that purpose. + +Create a `OrderCreationDto` class under the `ModularCrm.Ordering.Contracts` project: + +````csharp +using System; +using System.ComponentModel.DataAnnotations; + +namespace ModularCrm.Ordering.Contracts.Services; + +public class OrderCreationDto +{ + [Required] + [StringLength(150)] + public string CustomerName { get; set; } + + [Required] + public Guid ProductId { get; set; } +} +```` + +Create a `OrderDto` class under the `ModularCrm.Ordering.Contracts` project: + +````csharp +using System; + +namespace ModularCrm.Ordering.Contracts.Services; + +public class OrderDto +{ + public Guid Id { get; set; } + public string CustomerName { get; set; } + public Guid ProductId { get; set; } +} +```` + +The new files under the `ModularCrm.Ordering.Contracts` project should be like the following figure: + +![visual-studio-ordering-contracts](images/visual-studio-ordering-contracts.png) + ## Creating the User Interface Since this is a non-layered module, we can use entities and repositories directly 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.