#if WorkItems
using System.Text.Json.Serialization;

namespace File_Folder_Helper.ADO2024.PI3.WIQL;

public class Root
{
    [JsonConstructor]
    public Root(
        string queryType,
        string queryResultType,
        DateTime asOf,
        Column[] columns,
        SortColumn[] sortColumns,
        WorkItem[] workItems
    )
    {
        QueryType = queryType;
        QueryResultType = queryResultType;
        AsOf = asOf;
        Columns = columns;
        SortColumns = sortColumns;
        WorkItems = workItems;
    }

    public string QueryType { get; set; } // { init;  get; }
    public string QueryResultType { get; set; } // { init;  get; }
    public DateTime AsOf { get; set; } // { init;  get; }
    public Column[] Columns { get; set; } // { init;  get; }
    public SortColumn[] SortColumns { get; set; } // { init;  get; }
    public WorkItem[] WorkItems { get; set; } // { init;  get; }
}

[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, PropertyNameCaseInsensitive = true)]
[JsonSerializable(typeof(Root))]
internal partial class WIQLRootSourceGenerationContext : JsonSerializerContext
{
}
#endif