using Newtonsoft.Json; using System.Collections.Generic; using static SOMDocManager; public class Scroll { public string @ref; public string label; public string description; public List<MMTDeclaration> requiredFacts; public List<MMTDeclaration> acquiredFacts; public class FilledScroll { public string scroll; public List<ScrollAssignment> assignments; public FilledScroll(string scroll, List<ScrollAssignment> assignments) { this.scroll = scroll; this.assignments = assignments; } } public class ScrollTheoryReference { public string problemTheory; public string solutionTheory; } public class UriReference { public string uri; public UriReference(string uri) { this.uri = uri; } } public class ScrollAssignment { public UriReference fact; public OMS assignment; [JsonConstructor] private ScrollAssignment() { } public ScrollAssignment(string fact_id, string assignment_id) { this.fact = new UriReference(fact_id); this.assignment = new OMS(assignment_id); } } public class ScrollApplicationInfo { public bool valid; public ScrollApplicationCheckingError[] errors; public List<MMTDeclaration> acquiredFacts; } public class ScrollDynamicInfo { public Scroll original; public Scroll rendered; public List<List<ScrollAssignment>> completions; public bool valid; public ScrollApplicationCheckingError[] errors; } public class ScrollApplicationCheckingError { public string kind; public string msg; public SOMDoc fact; } }