using System.Collections.ObjectModel;
using System.Text.Json.Serialization;

namespace Adaptation.FileHandlers.Priority;

public class Aggregation
{

    [JsonConstructor]
    public Aggregation(
        string average,
        int count,
        int? inverse,
        int maximum,
        int minimum,
        ReadOnlyCollection<Record> records,
        int sum
    )
    {
        Average = average;
        Count = count;
        Inverse = inverse;
        Maximum = maximum;
        Minimum = minimum;
        Records = records;
        Sum = sum;
    }

    [JsonPropertyName("Average")] public string Average { get; }
    [JsonPropertyName("Count")] public int Count { get; }
    [JsonPropertyName("Inverse")] public int? Inverse { get; }
    [JsonPropertyName("Maximum")] public int Maximum { get; }
    [JsonPropertyName("Minimum")] public int Minimum { get; }
    [JsonPropertyName("Records")] public ReadOnlyCollection<Record> Records { get; }
    [JsonPropertyName("Sum")] public int Sum { get; }

}