using System.Collections.Generic; using System.Text.Json.Serialization; using Volo.Abp.Domain.Values; namespace Erp.Platform.Queries; public class ChartSeries : ValueObject { [JsonInclude] [JsonPropertyName("ArgumentField")] public string ArgumentField { get; private set; } = "arg"; [JsonInclude] [JsonPropertyName("Axis")] public string Axis { get; private set; } [JsonInclude] [JsonPropertyName("BarOverlapGroup")] public string BarOverlapGroup { get; private set; } [JsonInclude] [JsonPropertyName("BarPadding")] public int BarPadding { get; private set; } [JsonInclude] [JsonPropertyName("BarWidth")] public int BarWidth { get; private set; } [JsonInclude] [JsonPropertyName("Color")] public string Color { get; private set; } [JsonInclude] [JsonPropertyName("CornerRadius")] public int CornerRadius { get; private set; } = 0; [JsonInclude] [JsonPropertyName("DashStyle")] public string DashStyle { get; private set; } = "solid"; [JsonInclude] [JsonPropertyName("IgnoreEmptyPoints")] public bool IgnoreEmptyPoints { get; private set; } = false; [JsonInclude] [JsonPropertyName("Name")] public string Name { get; private set; } [JsonInclude] [JsonPropertyName("Pane")] public string Pane { get; private set; } [JsonInclude] [JsonPropertyName("RangeValue1Field")] public string RangeValue1Field { get; private set; } = "val1"; [JsonInclude] [JsonPropertyName("RangeValue2Field")] public string RangeValue2Field { get; private set; } = "val2"; [JsonInclude] [JsonPropertyName("SelectionMode")] public string SelectionMode { get; private set; } = "none"; [JsonInclude] [JsonPropertyName("ShowInLegend")] public bool ShowInLegend { get; private set; } = true; [JsonInclude] [JsonPropertyName("Type")] public string Type { get; private set; } [JsonInclude] [JsonPropertyName("ValueField")] public string ValueField { get; private set; } [JsonInclude] [JsonPropertyName("SummaryType")] public string SummaryType { get; private set; } [JsonInclude] [JsonPropertyName("Visible")] public bool Visible { get; private set; } = true; [JsonInclude] [JsonPropertyName("Width")] public int Width { get; private set; } = 2; [JsonInclude] [JsonPropertyName("Label")] public ChartLabel Label { get; private set; } = new(); [JsonInclude] [JsonPropertyName("UserId")] public string UserId { get; private set; } // JSON + EF Core için parametresiz public ctor public ChartSeries() { } protected override IEnumerable GetAtomicValues() { yield return ArgumentField; yield return Axis; yield return BarOverlapGroup; yield return BarPadding; yield return BarWidth; yield return Color; yield return CornerRadius; yield return DashStyle; yield return IgnoreEmptyPoints; yield return Name; yield return Pane; yield return RangeValue1Field; yield return RangeValue2Field; yield return SelectionMode; yield return ShowInLegend; yield return Type; yield return ValueField; yield return SummaryType; yield return Visible; yield return Width; yield return Label; yield return UserId; } }