using System; using System.Collections.Generic; using System.Text.Json.Serialization; namespace FinlyticCore.Dtos.Fundamentals; /// /// Haupt-DTO für die aggregierte Anzeige der Stammdaten, Fundamentaldaten und Events eines Assets. /// [Serializable] public record AssetFundamentalsDto { /// /// Grundlegende Unternehmens- und Stammdaten (Aus AssetDataEntity). /// [JsonPropertyName("asset")] public AssetHeaderDto Asset { get; init; } = new(); /// /// Aktuellste Finanzeckdaten und Kennzahlen (Aus FundamentalDataEntity). /// [JsonPropertyName("fundamentals")] public FundamentalDataDto? Fundamentals { get; init; } /// /// Liste der Führungskräfte/Vorstände (Aus KeyExecutiveEntity). /// [JsonPropertyName("executives")] public List Executives { get; init; } = []; /// /// Bevorstehende oder vergangene Termine wie Earnings oder Dividenden (Aus AssetEventEntity). /// [JsonPropertyName("events")] public List Events { get; init; } = []; /// /// Zeitstempel der letzten Gesamt-Aktualisierung. /// [JsonPropertyName("lastUpdatedAt")] public DateTime LastUpdatedAt { get; init; } = DateTime.UtcNow; }