private void DeleteSearched() { using (new ErrorScope()) { MessageDisplay msgDisplay = CreateMessageDisplay(); try { AdminTagFilter filter = AdminTagFilter.GetFromFilter("filter"); if (filter != null) { bool success = TagBO.Instance.DeleteTags(filter); if (!success) { CatchError <ErrorInfo>(delegate(ErrorInfo error) { msgDisplay.AddError(error); }); } else { } } } catch (Exception ex) { msgDisplay.AddError(ex.Message); } } }
/// <summary> /// 高级删除 /// </summary> public bool DeleteTags(AdminTagFilter filter) { if (SafeMode) { if (!IsExecutorLogin) { ThrowError(new NotLoginError()); return(false); } } if (filter == null) { filter = new AdminTagFilter(); } if (SafeMode) { //TODO: } bool success = TagDao.Instance.DeleteTagsByFilter(filter); if (success) { CacheUtil.RemoveBySearch(CacheKey_TagPrefix); } return(true); }
/// <summary> /// 高级删除 /// </summary> public override bool DeleteTagsByFilter(AdminTagFilter filter) { using (SqlQuery query = new SqlQuery()) { string conditions = BuildConditionsByFilter(query, filter); query.CommandText = "DELETE FROM [bx_Tags] WHERE " + conditions; query.ExecuteNonQuery(); } return(true); }
public void TagSearchList( string filter , int pageNumber , TagListHeadFootTemplate head , TagListHeadFootTemplate foot , TagListItemTemplate item) { #region 标签搜索列表 int? count = null; TagCollection tags = null; int pageSize = Consts.DefaultPageSize; TagListHeadFootParams headFootParams; AdminTagFilter tagFilter = AdminTagFilter.GetFromFilter(filter); if (tagFilter != null) { tags = TagBO.Instance.GetTagsBySearch(tagFilter, pageNumber, ref count); pageSize = tagFilter.PageSize; headFootParams = new TagListHeadFootParams(count, tagFilter, pageSize); } else { tags = TagBO.Instance.GetAllTags(pageNumber, pageSize, ref count); headFootParams = new TagListHeadFootParams(count, new AdminTagFilter(), pageSize); } head(headFootParams); if (tags != null && tags.Count > 0) { int i = 0; foreach (Tag tag in tags) { TagListItemParams itemParams = new TagListItemParams(tag); item(itemParams, i++); } } foot(headFootParams); #endregion }
/// <summary> /// 搜索标签 /// </summary> public TagCollection GetTagsBySearch(AdminTagFilter filter, int pageNumber, ref int?count) { if (filter == null) { throw new ArgumentNullException("filter"); } //int pageSize = filter.PageSize; //TagOrderKey orderBy = filter.OrderBy; if (pageNumber <= 0) { pageNumber = 1; } //if (pageSize <= 0) { pageSize = Consts.DefaultPageSize; } TagCollection tags = TagDao.Instance.GetTagsByFilter(filter, pageNumber, ref count); return(tags); }
/// <summary> /// 搜索标签 /// </summary> public override TagCollection GetTagsByFilter(AdminTagFilter filter, int pageNumber, ref int?count) { using (SqlQuery query = new SqlQuery()) { string conditions = BuildConditionsByFilter(query, filter); query.Pager.TableName = "bx_Tags"; //只有要排序的字段不唯一的时候才需要指定主键 if (filter.OrderBy != TagOrderKey.ID) { query.Pager.PrimaryKey = "ID"; } query.Pager.SortField = filter.OrderBy.ToString(); query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.TotalRecords = count; query.Pager.IsDesc = filter.IsDesc; query.Pager.SelectCount = true; query.Pager.Condition = conditions; using (XSqlDataReader reader = query.ExecuteReader()) { TagCollection tags = new TagCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get <int>(0); } } return(tags); } } }
private string BuildConditionsByFilter(SqlQuery query, AdminTagFilter filter) { StringBuffer sqlConditions = new StringBuffer(); if (string.IsNullOrEmpty(filter.Name)) { sqlConditions += " AND [Name] Like '%' + @Name + '%'"; query.CreateParameter <string>("@Name", filter.Name, SqlDbType.NVarChar, 50); } if (filter.Type != null) { sqlConditions += " AND ([ID] IN (SELECT [TagID] FROM [bx_TagRelation] WHERE [Type] = @Type))"; query.CreateParameter <TagType?>("@Type", filter.Type, SqlDbType.TinyInt); } if (filter.IsLock != null) { sqlConditions += " AND [IsLock] = @IsLock"; query.CreateParameter <bool?>("@IsLock", filter.IsLock, SqlDbType.Bit); } if (filter.TotalElementsScopeBegin != null && filter.TotalElementsScopeEnd != null) { sqlConditions += " AND ([TotalElements] >= @TotalElementsBegin AND [TotalElements] <= @TotalElementsEnd)"; query.CreateParameter <int?>("@TotalElementsBegin", filter.TotalElementsScopeBegin, SqlDbType.Int); query.CreateParameter <int?>("@TotalElementsEnd", filter.TotalElementsScopeEnd, SqlDbType.Int); } if (sqlConditions.Length > 0) { sqlConditions.Remove(0, 5); } return(sqlConditions.ToString()); }
/// <summary> /// 高级删除 /// </summary> public abstract bool DeleteTagsByFilter(AdminTagFilter filter);
/// <summary> /// 搜索标签 /// </summary> public abstract TagCollection GetTagsByFilter(AdminTagFilter filter, int pageNumber, ref int?count);
public TagListHeadFootParams(int?totalTags, AdminTagFilter filter, int pageSize) { m_TotalTags = totalTags; m_Filter = filter; m_PageSize = pageSize; }
private string BuildConditionsByFilter(SqlQuery query, AdminTagFilter filter) { StringBuffer sqlConditions = new StringBuffer(); if (string.IsNullOrEmpty(filter.Name)) { sqlConditions += " AND [Name] Like '%' + @Name + '%'"; query.CreateParameter<string>("@Name", filter.Name, SqlDbType.NVarChar, 50); } if (filter.Type != null) { sqlConditions += " AND ([ID] IN (SELECT [TagID] FROM [bx_TagRelation] WHERE [Type] = @Type))"; query.CreateParameter<TagType?>("@Type", filter.Type, SqlDbType.TinyInt); } if (filter.IsLock != null) { sqlConditions += " AND [IsLock] = @IsLock"; query.CreateParameter<bool?>("@IsLock", filter.IsLock, SqlDbType.Bit); } if (filter.TotalElementsScopeBegin != null && filter.TotalElementsScopeEnd != null) { sqlConditions += " AND ([TotalElements] >= @TotalElementsBegin AND [TotalElements] <= @TotalElementsEnd)"; query.CreateParameter<int?>("@TotalElementsBegin", filter.TotalElementsScopeBegin, SqlDbType.Int); query.CreateParameter<int?>("@TotalElementsEnd", filter.TotalElementsScopeEnd, SqlDbType.Int); } if (sqlConditions.Length > 0) sqlConditions.Remove(0, 5); return sqlConditions.ToString(); }
/// <summary> /// 高级删除 /// </summary> public override bool DeleteTagsByFilter(AdminTagFilter filter) { using (SqlQuery query = new SqlQuery()) { string conditions = BuildConditionsByFilter(query, filter); query.CommandText = "DELETE FROM [bx_Tags] WHERE " + conditions; query.ExecuteNonQuery(); } return true; }
/// <summary> /// 搜索标签 /// </summary> public override TagCollection GetTagsByFilter(AdminTagFilter filter, int pageNumber, ref int? count) { using (SqlQuery query = new SqlQuery()) { string conditions = BuildConditionsByFilter(query, filter); query.Pager.TableName = "bx_Tags"; //只有要排序的字段不唯一的时候才需要指定主键 if (filter.OrderBy != TagOrderKey.ID) query.Pager.PrimaryKey = "ID"; query.Pager.SortField = filter.OrderBy.ToString(); query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.TotalRecords = count; query.Pager.IsDesc = filter.IsDesc; query.Pager.SelectCount = true; query.Pager.Condition = conditions; using (XSqlDataReader reader = query.ExecuteReader()) { TagCollection tags = new TagCollection(reader); if (count == null && reader.NextResult()) { if (reader.Read()) { count = reader.Get<int>(0); } } return tags; } } }
public TagListHeadFootParams(int? totalTags, AdminTagFilter filter, int pageSize) { m_TotalTags = totalTags; m_Filter = filter; m_PageSize = pageSize; }
private void SearchTags() { AdminTagFilter filter = AdminTagFilter.GetFromForm(); filter.Apply("filter", "page"); }