コード例 #1
0
 public async Task RunAllAfterHandlers(DonutContext context)
 {
     foreach (var handler in _afterHandlers)
     {
         await handler.Handle(context);
     }
 }
コード例 #2
0
        public Task Handle(DonutContext context)
        {
            var userId = _currentUser.UserId;

            var addedEntities = context.ChangeTracker.Entries()
                                .Where(ch => ch.State == EntityState.Added)
                                .Select(ch => ch.Entity)
                                .OfType <IAuditableEntity>()
                                .ToList();

            foreach (var entity in addedEntities)
            {
                entity.CreatedOn      = DateTimeOffset.UtcNow;
                entity.CreatedBy      = userId;
                entity.LastModifiedOn = DateTimeOffset.UtcNow;
                entity.LastModifiedBy = userId;
            }

            var updatedEntities = context.ChangeTracker.Entries()
                                  .Where(ch => ch.State == EntityState.Modified)
                                  .Select(ch => ch.Entity)
                                  .OfType <IAuditableEntity>()
                                  .ToList();

            foreach (var entity in updatedEntities)
            {
                entity.LastModifiedOn = DateTimeOffset.UtcNow;
                entity.LastModifiedBy = userId;
            }

            return(Task.CompletedTask);
        }