Пример #1
0
        private void PreparingEntity(OperateArgs <T> e)
        {
            {
                IOperatingEntity entity2 = e.Entity as IOperatingEntity;
                if (entity2 != null)
                {
                    entity2.PreparingOperate(e);
                }
            }

            if (e.OperateType == OperateType.Delete)
            {
                IDeletableEntity entity2 = e.Entity as IDeletableEntity;
                if (entity2 != null && !entity2.CanBeDelete(e))
                {
                    throw new InvalidUserOperationException(entity2.ToString() + "不能删除!");
                }
            }
            else if (e.OperateType == OperateType.Update)
            {
                IUpdatableEntity entity2 = e.Entity as IUpdatableEntity;
                if (entity2 != null && !entity2.CanBeUpdate(e))
                {
                    throw new InvalidUserOperationException(entity2.ToString() + "不能更新!");
                }
            }
            else if (e.OperateType == OperateType.Save)
            {
                ISavableEntity entity2 = e.Entity as ISavableEntity;
                if (entity2 != null && !entity2.CanBeSave(e))
                {
                    throw new InvalidUserOperationException(entity2.ToString() + "不能添加!");
                }
            }
        }
Пример #2
0
 public static void SetCreateDeletableEntity <T>(this T entity)
     where T : class, IEntity
 {
     if (entity is IDeletableEntity)
     {
         IDeletableEntity deletableEntity = entity as IDeletableEntity;
         deletableEntity.isDeleted = false;
     }
 }
Пример #3
0
 public static void SetDeleteDeletableEntity <T>(this T entity, int userID)
     where T : class, IEntity
 {
     if (entity is IDeletableEntity)
     {
         IDeletableEntity deletableEntity = entity as IDeletableEntity;
         deletableEntity.isDeleted       = true;
         deletableEntity.DeletedDate     = DateTime.Now;
         deletableEntity.DeletedByUserID = userID;
     }
 }
Пример #4
0
 /// <summary>
 /// Removes the specified item.
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="item">The item.</param>
 public void Remove(IDeletableEntity entity)
 {
     Set(entity.GetType()).Attach(entity);
     entity.Deleted      = true;
     Entry(entity).State = EntityState.Modified;
 }