public override ImpressionRecordCollection GetImpressionRecordsForAdmin(AdminImpressionRecordFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_ImpressionRecordsWithTypeInfo]"; query.Pager.ResultFields = "*"; query.Pager.SortField = "RecordID"; query.Pager.IsDesc = filter.IsDesc; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = BuildCondition(query, filter); using (XSqlDataReader reader = query.ExecuteReader()) { ImpressionRecordCollection types = new ImpressionRecordCollection(reader); if (reader.NextResult()) { if (reader.Read()) { types.TotalRecords = reader.Get <int>(0); } } return(types); } } }
public override ImpressionRecordCollection GetTargetUserImpressionRecords(int targetUserID, int pageNumber, int pageSize, ref int?totalCount) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_ImpressionRecordsWithTypeInfo"; db.Pager.Condition = "TargetUserID = @TargetUserID"; db.Pager.SortField = "RecordID"; db.Pager.PageNumber = pageNumber; db.Pager.PageSize = pageSize; db.Pager.TotalRecords = totalCount; db.Pager.SelectCount = true; db.CreateParameter <int>("@TargetUserID", targetUserID, System.Data.SqlDbType.Int); using (XSqlDataReader reader = db.ExecuteReader()) { ImpressionRecordCollection result = new ImpressionRecordCollection(reader); if (reader.NextResult() && reader.Read()) { totalCount = reader.Get <int>(0); result.TotalRecords = totalCount.Value; } return(result); } } }
private void ProcessKeyword(ImpressionRecord record, ProcessKeywordMode mode) { //更新关键字模式,如果这个文章并不需要处理,直接退出 if (mode == ProcessKeywordMode.TryUpdateKeyword) { if (AllSettings.Current.ContentKeywordSettings.ReplaceKeywords.NeedUpdate(record) == false) { return; } } ImpressionRecordCollection records = new ImpressionRecordCollection(); records.Add(record); ProcessKeyword(records, mode); }
public ImpressionRecordCollection GetTargetUserImpressionRecords(int targetUserID, int pageNumber, int pageSize) { ImpressionRecordCollection result = null; string cacheKey = GetCacheKeyForTargetUserImpressionRecordsTotalCount(targetUserID); int?totalCount = null; bool totalCountCached = CacheUtil.TryGetValue <int?>(cacheKey, out totalCount); result = ImpressionDao.Instance.GetTargetUserImpressionRecords(targetUserID, pageNumber, pageSize, ref totalCount); if (totalCountCached == false) { CacheUtil.Set <int?>(cacheKey, totalCount); } ProcessKeyword(result, ProcessKeywordMode.TryUpdateKeyword); return(result); }
public override bool BeforeExecute(int operatorUserID, string param, ref long offset, ref int totalCount, out string title) { StringList paramData = StringList.Parse(param); AdminImpressionRecordFilter filter = AdminImpressionRecordFilter.Parse(paramData[0]); AuthUser operatorUser = UserBO.Instance.GetAuthUser(operatorUserID); ImpressionRecordCollection types = ImpressionBO.Instance.GetImpressionRecordsForAdmin(operatorUser, filter, 1); if (types == null || types.Count == 0) { title = "没有数据可以删除"; return(true); } totalCount = types.TotalRecords; title = "将删除 " + totalCount + " 条好友印象记录"; return(true); }
private void ProcessKeyword(ImpressionRecordCollection records, ProcessKeywordMode mode) { if (records.Count == 0) { return; } KeywordReplaceRegulation keyword = AllSettings.Current.ContentKeywordSettings.ReplaceKeywords; bool needProcess = false; //更新关键字模式,只在必要的情况下才取恢复信息并处理 if (mode == ProcessKeywordMode.TryUpdateKeyword) { needProcess = keyword.NeedUpdate <ImpressionRecord>(records); } //填充原始内容模式,始终都要取恢复信息,但不处理 else { needProcess = true; } if (needProcess) { RevertableCollection <ImpressionRecord> recordsWithReverter = ImpressionDao.Instance.GetImpressionRecordsWithReverters(records.GetKeys()); if (recordsWithReverter != null) { if (keyword.Update(recordsWithReverter)) { ImpressionDao.Instance.UpdateImpressionRecordKeywords(recordsWithReverter); } //将新数据填充到旧的列表 recordsWithReverter.FillTo(records); } } }
public override ImpressionRecordCollection GetTargetUserImpressionRecords(int targetUserID, int pageNumber, int pageSize, ref int? totalCount) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_ImpressionRecordsWithTypeInfo"; db.Pager.Condition = "TargetUserID = @TargetUserID"; db.Pager.SortField = "RecordID"; db.Pager.PageNumber = pageNumber; db.Pager.PageSize = pageSize; db.Pager.TotalRecords = totalCount; db.Pager.SelectCount = true; db.CreateParameter<int>("@TargetUserID", targetUserID, System.Data.SqlDbType.Int); using (XSqlDataReader reader = db.ExecuteReader()) { ImpressionRecordCollection result = new ImpressionRecordCollection(reader); if (reader.NextResult() && reader.Read()) { totalCount = reader.Get<int>(0); result.TotalRecords = totalCount.Value; } return result; } } }
public override ImpressionRecordCollection GetImpressionRecordsForAdmin(AdminImpressionRecordFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_ImpressionRecordsWithTypeInfo]"; query.Pager.ResultFields = "*"; query.Pager.SortField = "RecordID"; query.Pager.IsDesc = filter.IsDesc; query.Pager.PageNumber = pageNumber; query.Pager.PageSize = filter.PageSize; query.Pager.SelectCount = true; query.Pager.Condition = BuildCondition(query, filter); using (XSqlDataReader reader = query.ExecuteReader()) { ImpressionRecordCollection types = new ImpressionRecordCollection(reader); if (reader.NextResult()) { if (reader.Read()) { types.TotalRecords = reader.Get<int>(0); } } return types; } } }