Beispiel #1
0
 /// <summary>
 /// 更新前
 /// </summary>
 /// <param name="eventData"></param>
 public void HandleEvent(EntityUpdatingEventData <SysSetting> eventData)
 {
     //新增持久化数据,此处改变数据会写入数据
     //eventData.Entity.Name += "_更新前";
     EntityEventProcessDataList.Add(new EntityEventProcessData {
         DataDate = DateTime.Now, DataContent = "更新前"
     });
 }
 public void HandleEvent(EntityUpdatingEventData <Store> eventData)
 {
     if (!eventData.Entity.IsDefault)
     {
         if (StoreManager.GetAll().Count(o => o.IsDefault && o.Id != eventData.Entity.Id) == 0)
         {
             throw new UserFriendlyException("操作失败,必须有一个默认仓库");
         }
     }
 }
        public async Task HandleEventAsync(EntityUpdatingEventData <Asset> eventData)
        {
            var entity  = eventData.Entity;
            var dbAsset = await _assetRepo.FindAsync(entity.Id);

            var dbContext = await _assetRepo.GetDbContextAsync();

            foreach (var entry in dbContext.Entry(dbAsset).Properties)
            {
                Console.WriteLine(
                    $"Property '{entry.Metadata.Name}'" +
                    $" is {(entry.IsModified ? "modified" : "not modified")} " +
                    $"Current value: '{entry.CurrentValue}' " +
                    $"Original value: '{entry.OriginalValue}'");
            }

            var changeInfo = dbContext.ChangeTracker.Entries()
                             .Where(t => t.State == EntityState.Modified).ToList();

            await Task.CompletedTask;
        }