/// <summary> /// 获取变更属性 /// </summary> /// <param name="newEntity">新对象</param> public ChangeValueCollection GetChanges(T newEntity) { _changeValues = new ChangeValueCollection(); if (Equals(newEntity, null)) { return(_changeValues); } AddChanges(newEntity); return(_changeValues); }
/// <summary> /// 修改实体 /// </summary> protected void Update(TEntity entity) { var oldEntity = _repository.Find(entity.Id); var changes = new ChangeValueCollection(); if (oldEntity != null) { changes = oldEntity.GetChanges(entity); } UpdateBefore(entity); _repository.Update(entity); UpdateAfter(entity, changes); }
/// <summary> /// 修改实体 /// </summary> protected async Task UpdateAsync(TEntity entity) { var oldEntity = await _repository.FindAsync(entity.Id); var changes = new ChangeValueCollection(); if (oldEntity != null) { changes = oldEntity.GetChanges(entity); } UpdateBefore(entity); await _repository.UpdateAsync(entity); UpdateAfter(entity, changes); }
/// <summary> /// 修改后操作 /// </summary> /// <param name="entity">实体</param> /// <param name="changeValues">变更值集合</param> protected virtual void UpdateAfter(TEntity entity, ChangeValueCollection changeValues) { Log.BussinessId(entity.Id.SafeString()).Content(changeValues.SafeString()); }
/// <summary> /// 修改后操作 /// </summary> /// <param name="entity">实体</param> /// <param name="changeValues">变更值集合</param> protected virtual Task UpdateAfterAsync(TEntity entity, ChangeValueCollection changeValues) { return(Task.CompletedTask); }