From c02d011982132fd247a173e3f82ff0c77ad951d4 Mon Sep 17 00:00:00 2001 From: cryptooda Date: Fri, 3 Oct 2025 01:56:57 +0700 Subject: [PATCH] Update agent summary data annotation --- .../PostgreSql/Entities/AgentSummaryEntity.cs | 14 +++++++++++--- .../PostgreSql/ManagingDbContext.cs | 4 +++- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Managing.Infrastructure.Database/PostgreSql/Entities/AgentSummaryEntity.cs b/src/Managing.Infrastructure.Database/PostgreSql/Entities/AgentSummaryEntity.cs index e912b03d..76b21716 100644 --- a/src/Managing.Infrastructure.Database/PostgreSql/Entities/AgentSummaryEntity.cs +++ b/src/Managing.Infrastructure.Database/PostgreSql/Entities/AgentSummaryEntity.cs @@ -1,10 +1,18 @@ +using System.ComponentModel.DataAnnotations; +using System.ComponentModel.DataAnnotations.Schema; +using Microsoft.EntityFrameworkCore; + namespace Managing.Infrastructure.Databases.PostgreSql.Entities; +[Table("AgentSummaries")] +[Index(nameof(AgentName), IsUnique = true)] +[Index(nameof(UserId), IsUnique = true)] public class AgentSummaryEntity { - public int Id { get; set; } - public int UserId { get; set; } - public string AgentName { get; set; } + [Key] + [Required] public int Id { get; set; } + [Required] public required int UserId { get; set; } + [Required] [MaxLength(255)] public required string AgentName { get; set; } public decimal TotalPnL { get; set; } public decimal TotalROI { get; set; } public int Wins { get; set; } diff --git a/src/Managing.Infrastructure.Database/PostgreSql/ManagingDbContext.cs b/src/Managing.Infrastructure.Database/PostgreSql/ManagingDbContext.cs index 14c57884..ea35f8b3 100644 --- a/src/Managing.Infrastructure.Database/PostgreSql/ManagingDbContext.cs +++ b/src/Managing.Infrastructure.Database/PostgreSql/ManagingDbContext.cs @@ -548,11 +548,13 @@ public class ManagingDbContext : DbContext entity.Property(e => e.ActiveStrategiesCount).IsRequired(); entity.Property(e => e.TotalVolume).HasPrecision(18, 8); entity.Property(e => e.TotalBalance).HasPrecision(18, 8); + entity.Property(e => e.TotalFees).HasPrecision(18, 8); + entity.Property(e => e.NetPnL).HasPrecision(18, 8); entity.Property(e => e.BacktestCount).IsRequired(); // Create indexes for common queries entity.HasIndex(e => e.UserId).IsUnique(); - entity.HasIndex(e => e.AgentName); + entity.HasIndex(e => e.AgentName).IsUnique(); entity.HasIndex(e => e.TotalPnL); // Configure relationship with User