public void Ctor_EntityMatch()
        {
            var expectedEntity = new TestEntity();
            var subject        = new EntityUpdatingPackage <TestEntity>(expectedEntity);

            Assert.Same(expectedEntity, subject.Entity);
        }
示例#2
0
        /// <summary>
        /// Updates an entity.
        /// </summary>
        /// <param name="entity">The entity with updates.</param>
        /// <param name="cancellationToken">The token to monitor for cancellation requests.</param>
        public async Task <ChangeSet> UpdateAsync(TEntity entity, CancellationToken cancellationToken = default)
        {
            if (!entity.HasChanges)
            {
                return(null);
            }

            var updatingPackage = new EntityUpdatingPackage <TEntity>(entity);
            await ProcessorPipeline.ProcessAsync(updatingPackage, cancellationToken);

            var changes = entity.CommitChanges();

            await ExecuteUpdateAsync(entity, changes, cancellationToken);

            var updatedPackage = new EntityUpdatedPackage <TEntity>(entity, changes);
            await ProcessorPipeline.ProcessAsync(updatedPackage, cancellationToken);

            return(changes);
        }
 public Task ProcessAsync(EntityUpdatingPackage <TestEntity> package, CancellationToken cancellationToken = default)
 {
     throw new System.NotImplementedException();
 }