public override async ValueTask <int> SavedChangesAsync( SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { await base.SavedChangesAsync(eventData, result, cancellationToken); return(777); }
public int SavedChanges(SaveChangesCompletedEventData eventData, int result) { //be careful ,this will risks a deadlock. //when save data in aspnet core ,shuold use DbContext.SaveChangesAsync(). SavedChangesAsync(eventData, result).GetAwaiter().GetResult(); return(result); }
public override ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { Console.WriteLine($"Saved {result} No of changes."); return(new ValueTask <int>(result)); }
/// <summary> /// 拦截保存数据库成功 /// </summary> /// <param name="eventData"></param> /// <param name="result"></param> /// <returns></returns> public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { dynamic dbContext = eventData.Context; dbContext.SavedChangesEventInner(eventData, result); return(base.SavedChanges(eventData, result)); }
/// <summary> /// 拦截保存数据库成功 /// </summary> /// <param name="eventData"></param> /// <param name="result"></param> /// <param name="cancellationToken"></param> /// <returns></returns> public override ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { dynamic dbContext = eventData.Context; dbContext.SavedChangesEventInner(eventData, result); return(base.SavedChangesAsync(eventData, result, cancellationToken)); }
public int SavedChanges(SaveChangesCompletedEventData eventData, int result) { for (var i = 0; i < _interceptors.Length; i++) { result = _interceptors[i].SavedChanges(eventData, result); } return(result); }
public async ValueTask <int> SavedChangesAsync( SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { for (var i = 0; i < _interceptors.Length; i++) { result = await _interceptors[i].SavedChangesAsync(eventData, result, cancellationToken).ConfigureAwait(false); } return(result); }
public virtual int SavedChanges(SaveChangesCompletedEventData eventData, int result) { Assert.NotNull(eventData.Context); Context = eventData.Context; SavedChangesCalled = true; SyncCalled = true; return(result); }
public virtual ValueTask <int> SavedChangesAsync( SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { Assert.NotNull(eventData.Context); Context = eventData.Context; SavedChangesCalled = true; AsyncCalled = true; return(new ValueTask <int>(result)); }
public int SavedChanges(SaveChangesCompletedEventData eventData, int result) { using (var auditContext = new AuditContext(_connectionString)) { auditContext.Attach(_audit); _audit.Succeeded = true; _audit.EndTime = DateTime.UtcNow; auditContext.SaveChanges(); } return(result); }
public async ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { if (!(eventData.Context is TriggeredDbContext)) { Debug.Assert(_triggerSession != null); await _triggerSession.RaiseAfterSaveTriggers(cancellationToken).ConfigureAwait(false); DelistTriggerSession(eventData); } return(result); }
public int SavedChanges(SaveChangesCompletedEventData eventData, int result) { if (!(eventData.Context is TriggeredDbContext)) { Debug.Assert(_triggerSession != null); _triggerSession.RaiseAfterSaveTriggers().GetAwaiter().GetResult(); DelistTriggerSession(eventData); } return(result); }
public async ValueTask <int> SavedChangesAsync( SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { using (var auditContext = new AuditContext(_connectionString)) { auditContext.Attach(_audit); _audit.Succeeded = true; _audit.EndTime = DateTime.UtcNow; await auditContext.SaveChangesAsync(cancellationToken); } return(result); }
public override async ValueTask <int> SavedChangesAsync( SaveChangesCompletedEventData eventData, int result, CancellationToken ct = default) { var entitiesSaved = eventData.Context.ChangeTracker.Entries <EntityEventable>() .Select(po => po.Entity) .Where(po => po.DomainEvents.Any()) .ToArray(); foreach (var entity in entitiesSaved) { while (entity.DomainEvents.TryTake(out IDomainEvent domainEvent)) { await _mediator.Publish(domainEvent, ct); } } return(result); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { eventData.Context.ChangeTracker.DetectChanges(); Debug.WriteLine(eventData.Context.ChangeTracker.DebugView.LongView); foreach (var entry in eventData.Context.ChangeTracker.Entries()) { var auditMessage = entry.State switch { EntityState.Deleted => CreateDeletedMessage(entry), EntityState.Modified => CreateModifiedMessage(entry), EntityState.Added => CreateAddedMessage(entry), _ => null }; if (auditMessage is not null) { Console.WriteLine(); } } //Debug.WriteLine($"{DateTime.Now},{result}"); return(base.SavedChanges(eventData, result)); } string CreateAddedMessage(EntityEntry entry) => entry.Properties.Aggregate( $"Inserting {entry.Metadata.DisplayName()} with ", (auditString, property) => auditString + $"{property.Metadata.Name}: '{property.CurrentValue}' "); string CreateModifiedMessage(EntityEntry entry) => entry.Properties.Where(property => property.IsModified || property.Metadata.IsPrimaryKey()).Aggregate( $"Updating {entry.Metadata.DisplayName()} with ", (auditString, property) => auditString + $"{property.Metadata.Name}: '{property.CurrentValue}' "); string CreateDeletedMessage(EntityEntry entry) => entry.Properties.Where(property => property.Metadata.IsPrimaryKey()).Aggregate( $"Deleting {entry.Metadata.DisplayName()} with ", (auditString, property) => auditString + $"{property.Metadata.Name}: '{property.CurrentValue}' "); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { return(SavedChangesAsync(eventData, result).GetAwaiter().GetResult()); }
/// <inheritdoc /> public virtual int SavedChanges(SaveChangesCompletedEventData eventData, int result) => result;
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { this.DidSaveChanges(true); return(base.SavedChanges(eventData, result)); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { Console.WriteLine("after save"); return(base.SavedChanges(eventData, result)); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { _helper.EndSaveChanges(_auditContext, _auditScope, result); return(base.SavedChanges(eventData, result)); }
public override ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { this.DidSaveChanges(true); return(base.SavedChangesAsync(eventData, result, cancellationToken)); }
public ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = new CancellationToken()) { return(new ValueTask <int>(result)); }
public int SavedChanges(SaveChangesCompletedEventData eventData, int result) { return(result); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { Console.WriteLine($"changes:{eventData.EntitiesSavedCount}"); return(base.SavedChanges(eventData, result)); }
public async ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { await _saveChangesLifetime.AfterSaveChangesAsync(_efcoreEntries); return(result); }
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { base.SavedChanges(eventData, result); return(777); }
public override async ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { await _helper.EndSaveChangesAsync(_auditContext, _auditScope, result); return(await base.SavedChangesAsync(eventData, result, cancellationToken)); }
public async ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = new())
public override async ValueTask <int> SavedChangesAsync(SaveChangesCompletedEventData eventData, int result, CancellationToken cancellationToken = default) { var aggregateRoots = eventData.Context .ChangeTracker.Entries() .Where(e => e.Entity != null && e is { Entity: IAggregateRoot _ })
public override int SavedChanges(SaveChangesCompletedEventData eventData, int result) { Debug.WriteLine($"Dude {result}"); return(base.SavedChanges(eventData, result)); }