From f7186fd3ccfccaa83807919ad6ab8260a04cdf6c Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Wed, 18 Jan 2023 20:00:03 +0100 Subject: [PATCH] Added documentation --- .../DataModel/Database/Common/DataContext.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/I18N Commander/DataModel/Database/Common/DataContext.cs b/I18N Commander/DataModel/Database/Common/DataContext.cs index b332add..56284ab 100644 --- a/I18N Commander/DataModel/Database/Common/DataContext.cs +++ b/I18N Commander/DataModel/Database/Common/DataContext.cs @@ -75,6 +75,9 @@ public sealed class DataContext : DbContext, IDataContext IEnumerable Translations ); + /// + /// Represents a unique identifier for a JSON export and import. + /// internal readonly record struct JsonUniqueId(string Code, Guid UniqueId, string Prefix = "") { public override string ToString() => string.IsNullOrWhiteSpace(this.Prefix) ? $"{this.Code}::{this.UniqueId}" : $"{this.Prefix}::{this.Code}::{this.UniqueId}"; @@ -82,6 +85,9 @@ public sealed class DataContext : DbContext, IDataContext public static implicit operator string(JsonUniqueId id) => id.ToString(); } + /// + /// A JSON converter to serialize and deserialize JsonUniqueId instances. + /// private sealed class JsonUniqueIdConverter : JsonConverter { public override JsonUniqueId Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) @@ -138,6 +144,10 @@ public sealed class DataContext : DbContext, IDataContext JsonUniqueId TextElementUniqueId ); + /// + /// Exports this database to a JSON file. + /// + /// The path to the JSON file. public async Task ExportAsync(string path) { var jsonSettings = new JsonSerializerOptions