/// <summary> /// 根据过滤器删除 /// </summary> /// <param name="filter"></param> public override void DeleteByFilter(InviteSerialFilter filter) { using (SqlQuery query = new SqlQuery()) { string condition = BuildCondition(filter, query); query.CommandText = "DELETE FROM [bx_InviteSerials] " + (string.IsNullOrEmpty(condition) ? ";" : "WHERE " + condition); query.CommandType = CommandType.Text; query.ExecuteNonQuery(); } }
public void DeleteByFilter(AuthUser operatorUser, InviteSerialFilter filter) { if (operatorUser == User.Guest) { ThrowError(new NotLoginError()); return; } else { if (!CanManageSerial(operatorUser)) { ThrowError(new NoPermissionManageInviteSerialError()); return; } } InviteDao.Instance.DeleteByFilter(filter); }
public override InviteSerialCollection GetInviteSerials(int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount) { using (SqlQuery query = new SqlQuery()) { string Condition = BuildCondition(filter, query); if (ownerUserId != null) { Condition += " AND UserID = @OwnerID"; query.CreateParameter <int>("@OwnerID", ownerUserId.Value, SqlDbType.Int); } if (filter.Pagesize < 1) { filter.Pagesize = 20; } query.Pager.SortField = filter.Order.Value.ToString(); query.Pager.IsDesc = filter.IsDesc.Value; query.Pager.TableName = "[bx_InviteSerials]"; query.Pager.SelectCount = true; query.Pager.PageSize = filter.Pagesize; query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1; query.Pager.Condition = Condition; query.Pager.PrimaryKey = "[ID]"; totalCount = 0; using (XSqlDataReader reader = query.ExecuteReader()) { InviteSerialCollection Serials = new InviteSerialCollection(reader); if (reader.NextResult()) { if (reader.Read()) { totalCount = reader.GetInt32(0); Serials.TotalRecords = totalCount; } } return(Serials); } } }
public void InviteSerialList( string filter , string mode , int pageNumber , InviteSerialManagerTemplate listItem , GlobalTemplateMembers.CommonHeadFootTemplate foot , GlobalTemplateMembers.CommonHeadFootTemplate head ) { InviteSerialFilter searchFilter = InviteSerialFilter.GetFromFilter(filter); InviteSerialCollection inviteSerials; int rowCount; if (searchFilter == null) { searchFilter = new InviteSerialFilter(); } int?owner = null; if (string.IsNullOrEmpty(mode) || !mode.Equals("admin", StringComparison.OrdinalIgnoreCase)) { if (searchFilter.Status == null) { searchFilter.Status = InviteSerialStatus.Unused; } owner = User.CurrentID; } inviteSerials = InviteBO.Instance.GetInviteSerials(User.Current, owner, searchFilter, pageNumber, out rowCount); UserBO.Instance.FillSimpleUsers(inviteSerials, 0); head.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize)); foreach (InviteSerial s in inviteSerials) { listItem.Invoke(s); } foot.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize)); }
private void DeleteAll() { InviteSerialFilter filter = InviteSerialFilter.GetFromFilter("filter"); InviteBO.Instance.DeleteByFilter(My, filter); }
private void SearchInviteSerial() { InviteSerialFilter filter = InviteSerialFilter.GetFromForm(); filter.Apply("filter", "page"); }
public abstract void DeleteByFilter(InviteSerialFilter filter);
public abstract InviteSerialCollection GetInviteSerials(int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount);
/// <summary> /// 过滤器到条件字符 /// </summary> /// <param name="filter"></param> /// <param name="query"></param> /// <returns></returns> private string BuildCondition(InviteSerialFilter filter, SqlQuery query) { StringBuilder sb = new StringBuilder(); if (filter.SearchField != null) { switch (filter.SearchField.Value) { case InviteSerialSearchField.Serial: sb.Append(" AND Serial LIKE '%'+@Serial+'%'"); query.CreateParameter <string>("@Serial", filter.SearchKey, SqlDbType.VarChar, 50); break; case InviteSerialSearchField.ToEmail: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND ToEmail LIKE '%'+@ToEmail+'%'"); query.CreateParameter <string>("@ToEmail", filter.SearchKey, SqlDbType.VarChar, 200); } break; case InviteSerialSearchField.UserID: int userId = 0; int.TryParse(filter.SearchKey, out userId); sb.Append(" AND UserID = @UserID"); query.CreateParameter <int>("@UserID", userId, SqlDbType.Int); break; case InviteSerialSearchField.Username: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND UserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)"); query.CreateParameter <string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50); } break; case InviteSerialSearchField.ToUsername: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND ToUserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)"); query.CreateParameter <string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50); } break; } } if (false == string.IsNullOrEmpty(filter.Username)) { sb.Append(" AND UserID IN (SELECT UserID From bx_Users WHERE Username LIKE '%'+@Username+'%')"); query.CreateParameter <string>("@Username", filter.Username, SqlDbType.NVarChar, 50); } if (filter.CreateDateBegin != null) { sb.Append(" AND CreateDate >= @CreateDate1"); query.CreateParameter <DateTime>("@CreateDate1", filter.CreateDateBegin.Value, SqlDbType.DateTime); } if (filter.CreateDateEnd != null) { sb.Append(" AND CreateDate <= @CreateDate2"); query.CreateParameter <DateTime>("@CreateDate2", filter.CreateDateEnd.Value, SqlDbType.DateTime); } if (filter.ExpiresDateBegin != null) { sb.Append(" AND ExpiresDate >= @ExpiresDate1"); query.CreateParameter <DateTime>("@ExpiresDate1", filter.ExpiresDateBegin.Value, SqlDbType.DateTime); } if (filter.ExpiresDateEnd != null) { sb.Append(" AND ExpiresDate <= @ExpiresDate2"); query.CreateParameter <DateTime>("@ExpiresDate2", filter.ExpiresDateEnd.Value, SqlDbType.DateTime); } if (filter.Status != null && filter.Status != InviteSerialStatus.All && filter.Status != InviteSerialStatus.Expires) { sb.Append(" AND [Status] = @Status"); query.CreateParameter <byte>("@Status", (byte)filter.Status.Value, SqlDbType.TinyInt); } else if (filter.Status == InviteSerialStatus.Expires) { sb.Append(" AND Status <> 1 AND ExpiresDate <= GETDATE()"); } if (sb.Length > 0) { sb.Remove(0, 5); } return(sb.ToString()); }
public override InviteSerialCollection GetInviteSerials(int? ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount) { using (SqlQuery query = new SqlQuery()) { string Condition = BuildCondition(filter, query); if (ownerUserId != null) { Condition += " AND UserID = @OwnerID"; query.CreateParameter<int>("@OwnerID", ownerUserId.Value, SqlDbType.Int); } if (filter.Pagesize < 1) filter.Pagesize = 20; query.Pager.SortField = filter.Order.Value.ToString(); query.Pager.IsDesc = filter.IsDesc.Value; query.Pager.TableName = "[bx_InviteSerials]"; query.Pager.SelectCount = true; query.Pager.PageSize = filter.Pagesize; query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1; query.Pager.Condition = Condition; query.Pager.PrimaryKey = "[ID]"; totalCount = 0; using (XSqlDataReader reader = query.ExecuteReader()) { InviteSerialCollection Serials = new InviteSerialCollection(reader); if (reader.NextResult()) { if (reader.Read()) { totalCount = reader.GetInt32(0); Serials.TotalRecords = totalCount; } } return Serials; } } }
/// <summary> /// 过滤器到条件字符 /// </summary> /// <param name="filter"></param> /// <param name="query"></param> /// <returns></returns> private string BuildCondition(InviteSerialFilter filter, SqlQuery query) { StringBuilder sb = new StringBuilder(); if (filter.SearchField != null) { switch (filter.SearchField.Value) { case InviteSerialSearchField.Serial: sb.Append(" AND Serial LIKE '%'+@Serial+'%'"); query.CreateParameter<string>("@Serial", filter.SearchKey, SqlDbType.VarChar, 50); break; case InviteSerialSearchField.ToEmail: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND ToEmail LIKE '%'+@ToEmail+'%'"); query.CreateParameter<string>("@ToEmail", filter.SearchKey, SqlDbType.VarChar, 200); } break; case InviteSerialSearchField.UserID: int userId = 0; int.TryParse(filter.SearchKey, out userId); sb.Append(" AND UserID = @UserID"); query.CreateParameter<int>("@UserID", userId, SqlDbType.Int); break; case InviteSerialSearchField.Username: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND UserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)"); query.CreateParameter<string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50); } break; case InviteSerialSearchField.ToUsername: if (!string.IsNullOrEmpty(filter.SearchKey)) { sb.Append(" AND ToUserID = (SELECT [UserID] FROM bx_Users WHERE Username = @Username)"); query.CreateParameter<string>("@Username", filter.SearchKey, SqlDbType.NVarChar, 50); } break; } } if (false == string.IsNullOrEmpty(filter.Username)) { sb.Append(" AND UserID IN (SELECT UserID From bx_Users WHERE Username LIKE '%'+@Username+'%')"); query.CreateParameter<string>("@Username", filter.Username, SqlDbType.NVarChar, 50); } if (filter.CreateDateBegin != null) { sb.Append(" AND CreateDate >= @CreateDate1"); query.CreateParameter<DateTime>("@CreateDate1", filter.CreateDateBegin.Value, SqlDbType.DateTime); } if (filter.CreateDateEnd != null) { sb.Append(" AND CreateDate <= @CreateDate2"); query.CreateParameter<DateTime>("@CreateDate2", filter.CreateDateEnd.Value, SqlDbType.DateTime); } if (filter.ExpiresDateBegin != null) { sb.Append(" AND ExpiresDate >= @ExpiresDate1"); query.CreateParameter<DateTime>("@ExpiresDate1", filter.ExpiresDateBegin.Value, SqlDbType.DateTime); } if (filter.ExpiresDateEnd != null) { sb.Append(" AND ExpiresDate <= @ExpiresDate2"); query.CreateParameter<DateTime>("@ExpiresDate2", filter.ExpiresDateEnd.Value, SqlDbType.DateTime); } if (filter.Status != null && filter.Status != InviteSerialStatus.All && filter.Status != InviteSerialStatus.Expires) { sb.Append(" AND [Status] = @Status"); query.CreateParameter<byte>("@Status", (byte)filter.Status.Value, SqlDbType.TinyInt); } else if (filter.Status == InviteSerialStatus.Expires) { sb.Append(" AND Status <> 1 AND ExpiresDate <= GETDATE()"); } if (sb.Length > 0) sb.Remove(0, 5); return sb.ToString(); }
public void InviteSerialList( string filter , string mode , int pageNumber , InviteSerialManagerTemplate listItem , GlobalTemplateMembers.CommonHeadFootTemplate foot , GlobalTemplateMembers.CommonHeadFootTemplate head ) { InviteSerialFilter searchFilter = InviteSerialFilter.GetFromFilter(filter); InviteSerialCollection inviteSerials; int rowCount; if (searchFilter == null) searchFilter = new InviteSerialFilter(); int? owner = null; if (string.IsNullOrEmpty(mode) || !mode.Equals("admin", StringComparison.OrdinalIgnoreCase)) { if (searchFilter.Status == null) { searchFilter.Status = InviteSerialStatus.Unused; } owner =User.CurrentID; } inviteSerials = InviteBO.Instance.GetInviteSerials(User.Current, owner,searchFilter, pageNumber, out rowCount); UserBO.Instance.FillSimpleUsers(inviteSerials, 0); head.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize)); foreach (InviteSerial s in inviteSerials) { listItem.Invoke(s); } foot.Invoke(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, searchFilter.Pagesize)); }
/// <summary> /// 获取邀请码列表 /// </summary> public InviteSerialCollection GetInviteSerials(AuthUser operatorUser, int?ownerUserId, InviteSerialFilter filter, int pageNumber, out int totalCount) { totalCount = 0; if (operatorUser == User.Guest) { ThrowError(new NotLoginError()); return(new InviteSerialCollection()); } if (operatorUser.UserID != ownerUserId) { if (!CanManageSerial(operatorUser)) { ThrowError(new NoPermissionManageInviteSerialError()); return(new InviteSerialCollection()); } } return(InviteDao.Instance.GetInviteSerials(ownerUserId, filter, pageNumber, out totalCount)); }