Esempio n. 1
0
        /// <summary>
        /// Creates or updates a publish content entity.
        /// </summary>
        /// <param name="content">The publish content entity to save.</param>
        /// <param name="message">The commit message.</param>
        /// <param name="cancellationToken">The optional token to monitor for cancellation requests.</param>
        /// <returns>The change method.</returns>
        public Task <ChangeMethods> SaveAsync(ContentEntity content, string message, CancellationToken cancellationToken = default)
        {
            var rev = content?.CreateRevision(message);

            _ = SaveAsync(contentRevisions, rev, cancellationToken);
            return(SaveAsync(contents, content, cancellationToken));
        }
Esempio n. 2
0
        /// <summary>
        /// Creates or updates a publish content entity.
        /// </summary>
        /// <param name="content">The publish content entity to save.</param>
        /// <param name="message">The commit message.</param>
        /// <param name="cancellationToken">The optional token to monitor for cancellation requests.</param>
        /// <returns>The change method.</returns>
        public async Task <ChangeMethods> SaveAsync(ContentEntity content, string message, CancellationToken cancellationToken = default)
        {
            if (content is null)
            {
                return(ChangeMethods.Invalid);
            }
            var rev     = content.CreateRevision(message);
            var context = GetContext();
            var result  = await DbResourceEntityExtensions.SaveAsync(context.Contents, context.SaveChangesAsync, content, cancellationToken);

            await DbResourceEntityExtensions.SaveAsync(context.ContentRevisions, context.SaveChangesAsync, rev, cancellationToken);

            return(result);
        }