/// <summary> /// Reads one model property from JSON (asynchronous way). /// </summary> /// <param name="reader">The reader.</param> /// <param name="propName">Name of the property.</param> /// <param name="ct">The cancellation token.</param> /// <returns>Task.</returns> protected virtual async Task ReadOneModelPropFromJsonAsync(JsonReader reader, string propName, CancellationToken ct) { switch (propName) { case "entroot": await reader.ReadAsync(ct).ConfigureAwait(false); //readring start object await EntityRoot.ReadFromJsonAsync(reader, ct).ConfigureAwait(false); break; case "fver": _formatVersionReadJson = (await reader.ReadAsInt32Async(ct).ConfigureAwait(false)).Value; break; case "mver": ModelVersion = (await reader.ReadAsInt32Async(ct).ConfigureAwait(false)).Value; break; case "id": Id = await reader.ReadAsStringAsync(ct).ConfigureAwait(false); break; case "name": Name = await reader.ReadAsStringAsync(ct).ConfigureAwait(false); break; case "desc": Description = await reader.ReadAsStringAsync(ct).ConfigureAwait(false); break; case "cstinf": CustomInfo = await reader.ReadAsStringAsync(ct).ConfigureAwait(false); break; case "maxAttrId": _maxEntAttrId = (await reader.ReadAsInt32Async(ct).ConfigureAwait(false)).Value; break; case "editors": await reader.ReadAsync(ct).ConfigureAwait(false); //reading StartArray token await Editors.ReadFromJsonAsync(reader, ct).ConfigureAwait(false); break; default: await reader.SkipAsync(ct).ConfigureAwait(false); break; } }