Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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));
        }