/// <summary>Creates a new <see cref="JsonDocumentModel"/> based on a given schema file path. </summary> /// <param name="schemaPath">The schema file path. </param> /// <param name="dispatcher">The UI dispatcher. </param> /// <returns>The <see cref="JsonDocumentModel"/>. </returns> public static Task <JsonDocumentModel> CreateAsync(string schemaPath, IDispatcher dispatcher) { return(Task.Run(() => { var schema = JsonSchema4.FromFileAsync(schemaPath).GetAwaiter().GetResult(); var data = JsonObjectModel.FromSchema(schema); var document = new JsonDocumentModel(); document.Initialize(data, dispatcher); return document; })); }
/// <summary>Creates a new <see cref="JsonDocumentModel"/> based on a given schema file path. </summary> /// <param name="schemaPath">The schema file path. </param> /// <param name="dispatcher">The UI dispatcher. </param> /// <returns>The <see cref="JsonDocumentModel"/>. </returns> public static Task <JsonDocumentModel> CreateAsync(string schemaPath, IDispatcher dispatcher) { return(Task.Run(() => { var schema = JsonSchema4.FromJson(File.ReadAllText(schemaPath, Encoding.UTF8)); var data = JsonObjectModel.FromSchema(schema); var document = new JsonDocumentModel(); document.Initialize(data, dispatcher); return document; })); }
/// <summary>Loads a <see cref="JsonDocumentModel"/> from a file path and schema path. </summary> /// <param name="filePath">The file path. </param> /// <param name="schemaPath">The schema path. </param> /// <param name="dispatcher">The UI dispatcher. </param> /// <returns>The <see cref="JsonDocumentModel"/>. </returns> public static Task <JsonDocumentModel> LoadAsync(string filePath, string schemaPath, IDispatcher dispatcher) { return(Task.Run(() => { var schema = JsonSchema4.FromFileAsync(schemaPath).GetAwaiter().GetResult(); var data = JsonObjectModel.FromJson(File.ReadAllText(filePath, Encoding.UTF8), schema); var document = new JsonDocumentModel(); document.Initialize(data, dispatcher); document.FilePath = filePath; document.SchemaPath = schemaPath; return document; })); }
/// <summary>Creates a new <see cref="JsonDocumentModel"/> based on a given schema file path. </summary> /// <param name="schemaPath">The schema file path. </param> /// <param name="dispatcher">The UI dispatcher. </param> /// <returns>The <see cref="JsonDocumentModel"/>. </returns> public static Task<JsonDocumentModel> CreateAsync(string schemaPath, IDispatcher dispatcher) { return Task.Run(() => { var schema = JsonSchema4.FromJson(File.ReadAllText(schemaPath, Encoding.UTF8)); var data = JsonObjectModel.FromSchema(schema); var document = new JsonDocumentModel(); document.Initialize(data, dispatcher); return document; }); }