public override UserPropCollection GetUserPropsForAdmin(UserPropFilter filter, int pageNumber) { using (SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_UserPropsView"; db.Pager.PageSize = filter.PageSize; db.Pager.PageNumber = pageNumber; db.Pager.SelectCount = true; db.Pager.IsDesc = filter.IsDesc; if (filter.Order == UserPropFilter.OrderBy.Count) { db.Pager.SortField = "Count"; db.Pager.PrimaryKey = "UserPropID"; } else { db.Pager.SortField = "UserPropID"; } db.Pager.Condition = BuildCondition(db, filter); using (XSqlDataReader reader = db.ExecuteReader()) { UserPropCollection result = new UserPropCollection(reader); if (reader.NextResult() && reader.Read()) { result.TotalRecords = reader.Get <int>(0); } return(result); } } }
protected void Page_Load(object sender, EventArgs e) { m_AdminForm = UserPropFilter.GetFromFilter("filter"); int pageNumber = _Request.Get <int>("page", 1); if (_Request.IsClick("deletechecked")) { int[] ids = StringUtil.Split <int>(_Request.Get("PropIDs", MaxLabs.WebEngine.Method.Post, string.Empty)); if (ids != null && ids.Length > 0) { PropBO.Instance.DeleteUserPropsForAdmin(My, ids); JumpTo("interactive/manage-userprop.aspx"); } } else if (_Request.IsClick("advancedsearch")) { UserPropFilter filter = UserPropFilter.GetFromForm(); filter.Apply("filter", "page"); } m_PropList = PropBO.Instance.GetUserPropsForAdmin(My, m_AdminForm, pageNumber); m_TotalPropCount = m_PropList.TotalRecords; UserBO.Instance.WaitForFillSimpleUsers <UserProp>(m_PropList); }
private string BuildCondition(SqlQuery db, UserPropFilter filter) { StringBuffer sb = new StringBuffer(); if (filter.UserID != null) { sb += " AND UserID = @UserID"; db.CreateParameter <int>("@UserID", filter.UserID.Value, SqlDbType.Int); } else if (string.IsNullOrEmpty(filter.User) == false) { sb += " AND UserID = (SELECT UserID FROM bx_Users WHERE Username = @User)"; db.CreateParameter <string>("@User", filter.User, SqlDbType.NVarChar, 50); } if (filter.PropID != null) { sb += " AND PropID = @PropID"; db.CreateParameter <int>("@PropID", filter.PropID.Value, SqlDbType.Int); } if (filter.Selling != null) { if (filter.Selling.Value) { sb += " AND SellingCount > 0"; } else { sb += " AND SellingCount = 0"; } } if (sb.Length > 0) { sb.InnerBuilder.Remove(0, 5); } return(sb.ToString()); }
public override bool DeleteUserPropsForAdmin(UserPropFilter 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 (UserPropID int); INSERT INTO @DeleteData SELECT TOP (@TopCount) [UserPropID] FROM [bx_UserPropsView] WHERE " + conditions + @"; DELETE [bx_UserPropsView] WHERE UserPropID IN (SELECT [UserPropID] 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 string BuildCondition(SqlQuery db, UserPropFilter filter) { StringBuffer sb = new StringBuffer(); if(filter.UserID != null) { sb += " AND UserID = @UserID"; db.CreateParameter<int>("@UserID", filter.UserID.Value, SqlDbType.Int); } else if(string.IsNullOrEmpty(filter.User) == false) { sb += " AND UserID = (SELECT UserID FROM bx_Users WHERE Username = @User)"; db.CreateParameter<string>("@User", filter.User, SqlDbType.NVarChar, 50); } if(filter.PropID != null) { sb += " AND PropID = @PropID"; db.CreateParameter<int>("@PropID", filter.PropID.Value, SqlDbType.Int); } if(filter.Selling != null) { if(filter.Selling.Value) sb += " AND SellingCount > 0"; else sb += " AND SellingCount = 0"; } if(sb.Length > 0) sb.InnerBuilder.Remove(0, 5); return sb.ToString(); }
public override bool DeleteUserPropsForAdmin(UserPropFilter 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 (UserPropID int); INSERT INTO @DeleteData SELECT TOP (@TopCount) [UserPropID] FROM [bx_UserPropsView] WHERE " + conditions + @"; DELETE [bx_UserPropsView] WHERE UserPropID IN (SELECT [UserPropID] 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 UserPropCollection GetUserPropsForAdmin(UserPropFilter filter, int pageNumber) { using(SqlQuery db = new SqlQuery()) { db.Pager.TableName = "bx_UserPropsView"; db.Pager.PageSize = filter.PageSize; db.Pager.PageNumber = pageNumber; db.Pager.SelectCount = true; db.Pager.IsDesc = filter.IsDesc; if(filter.Order == UserPropFilter.OrderBy.Count) { db.Pager.SortField = "Count"; db.Pager.PrimaryKey = "UserPropID"; } else { db.Pager.SortField = "UserPropID"; } db.Pager.Condition = BuildCondition(db, filter); using(XSqlDataReader reader = db.ExecuteReader()) { UserPropCollection result = new UserPropCollection(reader); if(reader.NextResult() && reader.Read()) result.TotalRecords = reader.Get<int>(0); return result; } } }