示例#1
0
        public void Handle(IProvidesAuditInfo context)
        {
            var addedEntities = context.Changes
                                .Where(ch => ch.State == EntityEntryState.Added)
                                .Select(ch => ch.Entity)
                                .OfType <IAuditableEntity>();
            var updatedEntities = context.Changes
                                  .Where(ch => ch.State == EntityEntryState.Modified)
                                  .Select(ch => ch.Entity)
                                  .OfType <IAuditableEntity>();

            var currentUserId = UserInfoProvider.Instance.GetCurrenUserId();

            var currentDate = DateTime.Now;

            foreach (var entity in addedEntities)
            {
                entity.Created   = currentDate;
                entity.CreatedBy = currentUserId;
            }

            foreach (var entity in updatedEntities)
            {
                entity.LastModified   = currentDate;
                entity.LastModifiedBy = currentUserId;
            }
        }
示例#2
0
 public void RunAll(IProvidesAuditInfo context)
 {
     foreach (var handler in _handlers)
     {
         handler.Handle(context);
     }
 }