Ejemplo n.º 1
0
        /// <summary>
        ///     获取变更属性
        /// </summary>
        /// <param name="newEntity">新对象</param>
        public ChangeValueCollection GetChanges(T newEntity)
        {
            _changeValues = new ChangeValueCollection();
            if (Equals(newEntity, null))
            {
                return(_changeValues);
            }

            AddChanges(newEntity);
            return(_changeValues);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
 /// <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());
 }
Ejemplo n.º 5
0
 /// <summary>
 /// 修改后操作
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="changeValues">变更值集合</param>
 protected virtual Task UpdateAfterAsync(TEntity entity, ChangeValueCollection changeValues)
 {
     return(Task.CompletedTask);
 }