/// <inheritdoc /> public async Task <ListItemBatchOperationResult> CreateFromObjectAsync(object content, bool allowMissingDependencies = false, TimeSpan?timeout = null, CancellationToken cancellationToken = default(CancellationToken)) { var createManyRequest = new ListItemCreateManyRequest { Items = new List <ListItemCreateRequest>(), AllowMissingDependencies = allowMissingDependencies }; var referencedObjects = CreateReferencedObjectsAsync(content); foreach (var listItemCreateRequest in referencedObjects) { createManyRequest.Items.Add(listItemCreateRequest); } var schemaId = ClassToSchemaConverter.ResolveSchemaName(content.GetType()); createManyRequest.Items.Add(new ListItemCreateRequest { ContentSchemaId = schemaId, Content = content }); var objectResult = await CreateManyAsync(createManyRequest, timeout, cancellationToken).ConfigureAwait(false); return(objectResult); }
/// <summary>Generates the <see cref="SchemaDetail"/>s for the given type and the referenced types.</summary> /// <param name="type">The type.</param> /// <param name="schemaDetails">The existing schema details.</param> /// <param name="generateDependencySchema">Specifies whether to generate dependent schemas.</param> /// <param name="cancellationToken">The cancellation token.</param> /// <returns>The collection of schema details.</returns> public async Task <ICollection <SchemaDetail> > GenerateSchemasAsync( Type type, IEnumerable <SchemaDetail> schemaDetails = null, bool generateDependencySchema = true, CancellationToken cancellationToken = default(CancellationToken)) { var schemaConverter = new ClassToSchemaConverter(); return(await schemaConverter.GenerateAsync(type, schemaDetails ?? new List <SchemaDetail>(), generateDependencySchema).ConfigureAwait(false)); }