public override bool StepExecute(int operatorUserID, string param, ref long offset, ref int totalCount, ref int finishedCount, out string title, out bool isLastStep) { StringList paramData = StringList.Parse(param); AdminImpressionTypeFilter filter = AdminImpressionTypeFilter.Parse(paramData[0]); AuthUser operatorUser = UserBO.Instance.GetAuthUser(operatorUserID); int stepCount; if (ImpressionBO.Instance.DeleteImpressionTypesForAdmin(operatorUser, filter, stepDeleteCount, out stepCount)) // .DeleteDoingsBySearch(filter, 200); { finishedCount += stepCount; isLastStep = stepCount < stepDeleteCount; title = "正在删除好友印象描述,总数 " + totalCount + ",已删 " + finishedCount; return(true); } else { isLastStep = true; title = string.Empty; } return(true); }
public bool DeleteImpressionTypesForAdmin(AuthUser operatorUser, AdminImpressionTypeFilter filter, int stepDeleteCount, out int stepCount) { stepCount = 0; if (ManagePermission.Can(operatorUser, BackendPermissions.Action.Manage_ImpressionRecord) == false) { return(false); } return(ImpressionDao.Instance.DeleteImpressionTypesForAdmin(filter, stepDeleteCount, out stepCount)); }
private string BuildCondition(SqlQuery query, AdminImpressionTypeFilter filter) { StringBuffer condition = new StringBuffer(); if (string.IsNullOrEmpty(filter.SearchKey) == false) { condition += "[Text] LIKE '%' + @SearchKey + '%'"; query.CreateParameter <string>("@SearchKey", filter.SearchKey, SqlDbType.NVarChar, 100); } return(condition.ToString()); }
public override ImpressionTypeCollection GetImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_ImpressionTypes]"; if (filter.Order == AdminImpressionTypeFilter.OrderBy.TypeID) { query.Pager.SortField = "TypeID"; } else { query.Pager.SortField = "RecordCount"; query.Pager.PrimaryKey = "TypeID"; } 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()) { ImpressionTypeCollection types = new ImpressionTypeCollection(reader); if (reader.NextResult()) { if (reader.Read()) { types.TotalRecords = reader.Get <int>(0); } } return(types); } } }
protected void Page_Load(object sender, EventArgs e) { m_AdminForm = AdminImpressionTypeFilter.GetFromFilter("filter"); if (_Request.IsClick("advancedsearch")) { SearchTypes(); } else if (_Request.IsClick("deletechecked")) { DeleteChecked(); } else if (_Request.IsClick("deletesearched")) { DeleteSearch(); } using (ErrorScope es = new ErrorScope()) { int pageNumber = _Request.Get <int>("page", 0); m_TypeListPageSize = m_AdminForm.PageSize; m_TypeList = ImpressionBO.Instance.GetImpressionTypesForAdmin(My, m_AdminForm, pageNumber); if (m_TypeList != null) { m_TotalTypeCount = m_TypeList.TotalRecords; } if (es.HasUnCatchedError) { es.CatchError <ErrorInfo>(delegate(ErrorInfo error) { ShowError(error); }); } } }
public override bool BeforeExecute(int operatorUserID, string param, ref long offset, ref int totalCount, out string title) { StringList paramData = StringList.Parse(param); AdminImpressionTypeFilter filter = AdminImpressionTypeFilter.Parse(paramData[0]); AuthUser operatorUser = UserBO.Instance.GetAuthUser(operatorUserID); ImpressionTypeCollection types = ImpressionBO.Instance.GetImpressionTypesForAdmin(operatorUser, filter, 1); if (types == null || types.Count == 0) { title = "没有数据可以删除"; return(true); } totalCount = types.TotalRecords; title = "将删除 " + totalCount + " 条好友印象描述"; return(true); }
public override bool DeleteImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int topCount, out int deletedCount) { deletedCount = 0; using (SqlQuery query = new SqlQuery()) { string conditions = BuildCondition(query, filter); StringBuffer sql = new StringBuffer(); sql += @" DECLARE @DeleteData table (TypeID int); INSERT INTO @DeleteData SELECT TOP (@TopCount) [TypeID] FROM [bx_ImpressionTypes] WHERE " + conditions + @"; DELETE [bx_ImpressionTypes] WHERE TypeID IN (SELECT [TypeID] FROM @DeleteData); SELECT @@ROWCOUNT;"; query.CreateTopParameter("@TopCount", topCount); query.CommandText = sql.ToString(); using (XSqlDataReader reader = query.ExecuteReader()) { DeleteResult deleteResult = new DeleteResult(); if (reader.Read()) { deletedCount = reader.Get <int>(0); } return(true); } } }
private void SearchTypes() { AdminImpressionTypeFilter filter = AdminImpressionTypeFilter.GetFromForm(); filter.Apply("filter", "page"); }
public override bool DeleteImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int topCount, out int deletedCount) { deletedCount = 0; using (SqlQuery query = new SqlQuery()) { string conditions = BuildCondition(query, filter); StringBuffer sql = new StringBuffer(); sql += @" DECLARE @DeleteData table (TypeID int); INSERT INTO @DeleteData SELECT TOP (@TopCount) [TypeID] FROM [bx_ImpressionTypes] WHERE " + conditions + @"; DELETE [bx_ImpressionTypes] WHERE TypeID IN (SELECT [TypeID] FROM @DeleteData); SELECT @@ROWCOUNT;"; query.CreateTopParameter("@TopCount", topCount); query.CommandText = sql.ToString(); using (XSqlDataReader reader = query.ExecuteReader()) { DeleteResult deleteResult = new DeleteResult(); if (reader.Read()) deletedCount = reader.Get<int>(0); return true; } } }
public override ImpressionTypeCollection GetImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int pageNumber) { using (SqlQuery query = new SqlQuery()) { query.Pager.TableName = "[bx_ImpressionTypes]"; if (filter.Order == AdminImpressionTypeFilter.OrderBy.TypeID) query.Pager.SortField = "TypeID"; else { query.Pager.SortField = "RecordCount"; query.Pager.PrimaryKey = "TypeID"; } 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()) { ImpressionTypeCollection types = new ImpressionTypeCollection(reader); if (reader.NextResult()) { if (reader.Read()) { types.TotalRecords = reader.Get<int>(0); } } return types; } } }
private string BuildCondition(SqlQuery query, AdminImpressionTypeFilter filter) { StringBuffer condition = new StringBuffer(); if (string.IsNullOrEmpty(filter.SearchKey) == false) { condition += "[Text] LIKE '%' + @SearchKey + '%'"; query.CreateParameter<string>("@SearchKey", filter.SearchKey, SqlDbType.NVarChar, 100); } return condition.ToString(); }
public ImpressionTypeCollection GetImpressionTypesForAdmin(AuthUser operatorUser, AdminImpressionTypeFilter filter, int pageNumber) { if (ManagePermission.Can(operatorUser, BackendPermissions.Action.Manage_ImpressionType) == false) { return(null); } return(ImpressionDao.Instance.GetImpressionTypesForAdmin(filter, pageNumber)); }
public abstract bool DeleteImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int stepDeleteCount, out int stepCount);
public abstract ImpressionTypeCollection GetImpressionTypesForAdmin(AdminImpressionTypeFilter filter, int pageNumber);