using System.Text.Json;
using System.Text.Json.Serialization;

namespace View_by_Distance.Shared.Models;

public record ResultConfiguration(string DateGroup,
                                  int EpicYear,
                                  string? ModelName,
                                  int? NumberOfJitters,
                                  int? NumberOfTimesToUpsample,
                                  string? PredictorModelName,
                                  int ResultAllInOneSubdirectoryLength,
                                  string ResultCollection,
                                  string ResultContent,
                                  string ResultSingleton,
                                  string RootDirectory)
{

    public override string ToString()
    {
        string result = JsonSerializer.Serialize(this, ResultConfigurationSourceGenerationContext.Default.ResultConfiguration);
        return result;
    }

}

[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultConfiguration))]
internal partial class ResultConfigurationSourceGenerationContext : JsonSerializerContext
{
}