/// <summary>自动排序,如果使用了缓存,保存成功后会清空本表的所有缓存记录,然后重新加载进缓存</summary> /// <param name="page">当前页面指针</param> /// <param name="strWhere">附加Where : " sid=1 "</param> /// <param name="isExistsMoreLv">是否存在多级分类,一级时,请使用false,多级使用true,(一级不包括ParentID字段)</param> /// <param name="pid">父级分类的ParentID</param> /// <param name="fieldName">字段名:"SortId"</param> /// <param name="fieldParentId">字段名:"ParentId"</param> /// <returns>更新成功返回true,失败返回false</returns> public bool UpdateAutoSort(Page page, string strWhere = "", bool isExistsMoreLv = false, int pid = 0, string fieldName = "Sort", string fieldParentId = "ParentId") { //更新排序 if (CommonBll.AutoSort("Id", "Article", strWhere, isExistsMoreLv, pid, fieldName, fieldParentId)) { //判断是否启用缓存 if (CommonBll.IsUseCache()) { //删除所有缓存 DelAllCache(); //重新载入缓存 GetList(); } //添加用户操作记录 CommonBll.WriteLog("{0}对Article表进行了自动排序操作!"); //UseLogBll.GetInstence().Save(page, "{0}对Article表进行了自动排序操作!"); return(true); } return(false); }
/// <summary> /// 保存列表排序,如果使用了缓存,保存成功后会清空本表的所有缓存记录,然后重新加载进缓存 /// </summary> /// <param name="page">当前页面指针</param> /// <param name="grid1">页面表格</param> /// <param name="tbxSort">表格中绑定排序的表单名</param> /// <param name="sortName">排序字段名</param> /// <returns>更新成功返回true,失败返回false</returns> public bool UpdateSort(Page page, FineUI.Grid grid1, string tbxSort, string sortName = "Sort") { //更新排序 if (CommonBll.UpdateSort(page, grid1, tbxSort, "Article", sortName, "Id")) { //判断是否启用缓存 if (CommonBll.IsUseCache()) { //删除所有缓存 DelAllCache(); //重新载入缓存 GetList(); } //添加用户操作记录 CommonBll.WriteLog("{0}更新了Article表排序!"); //UseLogBll.GetInstence().Save(page, "{0}更新了Article表排序!"); return(true); } return(false); }
/// <summary> /// 删除Article表所有记录 /// </summary> /// <param name="page">当前页面指针</param> /// <param name="isAddUseLog">是否添加用户操作日志</param> public void DeleteAll(Page page, bool isAddUseLog = true) { //设置Sql语句 var sql = string.Format("delete from {0}", ArticleTable.TableName); //删除 var delete = new DeleteHelper(); delete.Delete(sql); //判断是否启用缓存 if (CommonBll.IsUseCache()) { //清空当前表所有缓存记录 DelAllCache(); } if (isAddUseLog) { //添加用户操作记录 CommonBll.WriteLog("{0}删除了Article表记录!"); //UseLogBll.GetInstence().Save(page, "{0}删除了Article表所有记录!"); } }
/// <summary> /// 删除Article表记录 /// </summary> /// <param name="page">当前页面指针</param> /// <param name="id">记录的主键值</param> /// <param name="isAddUseLog">是否添加用户操作日志</param> public void Delete(Page page, int id, bool isAddUseLog = true) { //设置Sql语句 var sql = string.Format("delete from {0} where {1} = {2}", ArticleTable.TableName, ArticleTable.Id, id); //删除 var delete = new DeleteHelper(); delete.Delete(sql); //判断是否启用缓存 if (CommonBll.IsUseCache()) { //删除缓存 DelCache(id); } if (isAddUseLog) { //添加用户操作记录 CommonBll.WriteLog("{0}删除了Article表id为【" + id + "】的记录!"); //UseLogBll.GetInstence().Save(page, "{0}删除了Article表id为【" + id + "】的记录!"); } }
/// <summary> /// 从IIS缓存中获取Article表记录 /// </summary> /// <param name="isCache">是否从缓存中读取</param> public IList <DataAccess.Model.Article> GetList(bool isCache = true) { try { //判断是否使用缓存 if (CommonBll.IsUseCache() && isCache) { //检查指定缓存是否过期——缓存当天有效,第二天自动清空 if (CommonBll.CheckCacheIsExpired(const_CacheKey_Date)) { //删除缓存 DelAllCache(); } //从缓存中获取DataTable var obj = CacheHelper.GetCache(const_CacheKey); //如果缓存为null,则查询数据库 if (obj == null) { var list = GetList(false); //将查询出来的数据存储到缓存中 CacheHelper.SetCache(const_CacheKey, list); //存储当前时间 CacheHelper.SetCache(const_CacheKey_Date, DateTime.Now); return(list); } //缓存中存在数据,则直接返回 else { return((IList <DataAccess.Model.Article>)obj); } } else { //定义临时实体集 IList <DataAccess.Model.Article> list = null; //获取全表缓存加载条件表达式 var exp = GetExpression <Article>(); //如果条件为空,则查询全表所有记录 if (exp == null) { //从数据库中获取所有记录 var all = Article.All(); list = all == null ? null : Transform(all.ToList()); } else { //从数据库中查询出指定条件的记录,并转换为指定实体集 var all = Article.Find(exp); list = all == null ? null : Transform(all); } return(list); } } catch (Exception e) { //记录日志 CommonBll.WriteLog("从IIS缓存中获取Article表记录时出现异常", e); } return(null); }