using System.Text.Json; using System.Text.Json.Serialization; namespace View_by_Distance.Shared.Models; public record class Sorting : Properties.ISorting { public bool? CanReMap { init; get; } public int DaysDelta { init; get; } public int DistancePermyriad { init; get; } public int Id { init; get; } public bool Older { init; get; } public int WholePercentages { init; get; } [JsonConstructor] public Sorting(bool? canReMap, int daysDelta, int distancePermyriad, int id, bool older, int wholePercentages) { CanReMap = canReMap; DaysDelta = daysDelta; DistancePermyriad = distancePermyriad; Id = id; Older = older; WholePercentages = wholePercentages; } public Sorting(Mapping mapping, MappingFromLocation mappingFromLocation) : this(null, 0, 0, mapping.MappingFromItem.Id, false, mappingFromLocation.WholePercentages) { } public override string ToString() { string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true }); return result; } }