public void Ctor_EntityMatch() { var expectedEntity = new TestEntity(); var subject = new EntityUpdatingPackage <TestEntity>(expectedEntity); Assert.Same(expectedEntity, subject.Entity); }
/// <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(); }