Exemple #1
0
        /// <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;
            }
        }