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() + "不能添加!"); } } }
public static void SetCreateDeletableEntity <T>(this T entity) where T : class, IEntity { if (entity is IDeletableEntity) { IDeletableEntity deletableEntity = entity as IDeletableEntity; deletableEntity.isDeleted = false; } }
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; } }
/// <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; }