From 18b119c7a84a5f0f663c538f5d1945d3ee9df8a8 Mon Sep 17 00:00:00 2001 From: Loretta Date: Tue, 13 Jan 2026 08:25:28 +0100 Subject: [PATCH] Refactor AcToonSerializer metadata extraction & DTO tables - Remove redundant constraints (nullable, numeric, boolean) from metadata; only explicit [Required] is documented. - Exclude enum values from constraints; add "readonly" for readonly/init-only properties. - Filter out primitives from documented types; only complex types and enums are included. - Detect and document enum backing fields with "enum-type" constraint. - Only output descriptions if explicitly provided; no fallback/inferred text. - Add "not-mapped" constraint for [NotMapped]/[NotColumn] properties. - Switch FruitBankHybrid.Shared.Tests.csproj to direct AyCode.Core project reference. - Add both LinqToDB and DataAnnotations [Table] attributes to DTOs for ORM compatibility. --- FruitBank.Common/Dtos/GenericAttributeDto.cs | 3 +++ FruitBank.Common/Dtos/OrderDto.cs | 2 ++ FruitBank.Common/Dtos/OrderItemDto.cs | 2 ++ FruitBank.Common/Dtos/ProductDto.cs | 2 ++ FruitBank.Common/Dtos/StockQuantityHistoryDto.cs | 2 ++ .../FruitBankHybrid.Shared.Tests.csproj | 4 +--- 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/FruitBank.Common/Dtos/GenericAttributeDto.cs b/FruitBank.Common/Dtos/GenericAttributeDto.cs index 252cf1b4..a80e1b0b 100644 --- a/FruitBank.Common/Dtos/GenericAttributeDto.cs +++ b/FruitBank.Common/Dtos/GenericAttributeDto.cs @@ -1,7 +1,10 @@ using Mango.Nop.Core.Dtos; +using Nop.Core.Domain.Common; namespace FruitBank.Common.Dtos; +[LinqToDB.Mapping.Table(Name = nameof(GenericAttribute))] +[System.ComponentModel.DataAnnotations.Schema.Table(nameof(GenericAttribute))] public class GenericAttributeDto : MgGenericAttributeDto { diff --git a/FruitBank.Common/Dtos/OrderDto.cs b/FruitBank.Common/Dtos/OrderDto.cs index c19a2b7f..082753ac 100644 --- a/FruitBank.Common/Dtos/OrderDto.cs +++ b/FruitBank.Common/Dtos/OrderDto.cs @@ -20,6 +20,8 @@ using System.Linq.Expressions; namespace FruitBank.Common.Dtos; +[LinqToDB.Mapping.Table(Name = nameof(Order))] +[System.ComponentModel.DataAnnotations.Schema.Table(nameof(Order))] public class OrderDto : MgOrderDto, IOrderDto { [NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] diff --git a/FruitBank.Common/Dtos/OrderItemDto.cs b/FruitBank.Common/Dtos/OrderItemDto.cs index 59fb1d5a..ad9ff693 100644 --- a/FruitBank.Common/Dtos/OrderItemDto.cs +++ b/FruitBank.Common/Dtos/OrderItemDto.cs @@ -14,6 +14,8 @@ using System.Linq.Expressions; namespace FruitBank.Common.Dtos; +[LinqToDB.Mapping.Table(Name = nameof(OrderItem))] +[System.ComponentModel.DataAnnotations.Schema.Table(nameof(OrderItem))] public class OrderItemDto : MgOrderItemDto, IOrderItemDto { [NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] diff --git a/FruitBank.Common/Dtos/ProductDto.cs b/FruitBank.Common/Dtos/ProductDto.cs index fe1eda6f..69582c59 100644 --- a/FruitBank.Common/Dtos/ProductDto.cs +++ b/FruitBank.Common/Dtos/ProductDto.cs @@ -11,6 +11,8 @@ using System.Linq.Expressions; namespace FruitBank.Common.Dtos; +[LinqToDB.Mapping.Table(Name = "Product")] +[System.ComponentModel.DataAnnotations.Schema.Table("Product")] public class ProductDto : MgProductDto, IProductDto { [NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] diff --git a/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs index fbfb79ae..7d4821ee 100644 --- a/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs +++ b/FruitBank.Common/Dtos/StockQuantityHistoryDto.cs @@ -14,6 +14,8 @@ using System.Threading.Tasks; namespace FruitBank.Common.Dtos { + [LinqToDB.Mapping.Table(Name = nameof(StockQuantityHistory))] + [System.ComponentModel.DataAnnotations.Schema.Table(nameof(StockQuantityHistory))] public class StockQuantityHistoryDto : MgStockQuantityHistoryDto, IStockQuantityHistoryDto { [NotColumn, NotMapped, JsonIgnore, System.Text.Json.Serialization.JsonIgnore] diff --git a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj index 4d6aea97..c778ae20 100644 --- a/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj +++ b/FruitBankHybrid.Shared.Tests/FruitBankHybrid.Shared.Tests.csproj @@ -20,15 +20,13 @@ + - - ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Core.dll - ..\..\..\..\Aycode\Source\AyCode.Core\AyCode.Services.Server\bin\FruitBank\Debug\net9.0\AyCode.Entities.dll