public override UserMobileLogCollection GetUserMobileLogsBySearch(UserMobileSearchFilter filter, int pagenumber) { using (SqlQuery query = new SqlQuery()) { StringBuilder condition = new StringBuilder(); string SortField = "OperationDate"; if (filter.OrderBy != null) { switch (filter.OrderBy.Value) { case UserMobileLogSortOrder.LogID: SortField = "LogID"; break; case UserMobileLogSortOrder.UserID: SortField = "UserID"; break; //case UserMobileLogSortOrder.Username: // SortField = "Username"; // break; default: break; } } if (filter.UserID != null) { condition.Append(" AND UserID=@UserID"); query.CreateParameter<int>("@UserID",filter.UserID.Value,SqlDbType.Int); } if (!string.IsNullOrEmpty(filter.Username)) { condition.Append(" AND Username=@Username"); query.CreateParameter<string>("@Username", filter.Username, SqlDbType.NVarChar, 50); } if (false==(filter.OperationType == null||(int)filter.OperationType==0)) { condition.Append(" AND OperationType=@OperationType"); query.CreateParameter<int>("@OperationType", (int)filter.OperationType, SqlDbType.SmallInt); } if (filter.BeginDate != null) { condition.Append(" AND OperationDate>=@BeginDate"); query.CreateParameter<DateTime>("@BeginDate", filter.BeginDate.Value, SqlDbType.DateTime); } if (filter.EndDate != null) { condition.Append(" AND OperationDate<=@EndDate"); query.CreateParameter<DateTime>("@EndDate", filter.EndDate.Value, SqlDbType.DateTime); } if (filter.MobilePhone != null) { condition.Append(" AND MobilePhone = @MobilePhone"); query.CreateParameter<long>("@MobilePhone", filter.MobilePhone.Value, SqlDbType.BigInt); } query.Pager.SortField = SortField; query.Pager.PageNumber = pagenumber; query.Pager.PageSize = filter.PageSize; query.Pager.TableName = "bx_UserMobileOperationLogs"; query.Pager.PrimaryKey = "LogID"; query.Pager.IsDesc = filter != null ? filter.IsDesc : true; query.Pager.SelectCount = true; if (condition.Length > 0) { query.Pager.Condition = condition.ToString().Substring(4); } using (XSqlDataReader reader = query.ExecuteReader()) { UserMobileLogCollection collection = new UserMobileLogCollection(reader); if (reader.NextResult()) { if (reader.Next) collection.TotalRecords = reader.Get<int>(0); } return collection; } } }
public override UserMobileLogCollection GetUserMobileLogsBySearch(UserMobileSearchFilter filter, int pagenumber) { using (SqlQuery query = new SqlQuery()) { StringBuilder condition = new StringBuilder(); string SortField = "OperationDate"; if (filter.OrderBy != null) { switch (filter.OrderBy.Value) { case UserMobileLogSortOrder.LogID: SortField = "LogID"; break; case UserMobileLogSortOrder.UserID: SortField = "UserID"; break; //case UserMobileLogSortOrder.Username: // SortField = "Username"; // break; default: break; } } if (filter.UserID != null) { condition.Append(" AND UserID=@UserID"); query.CreateParameter <int>("@UserID", filter.UserID.Value, SqlDbType.Int); } if (!string.IsNullOrEmpty(filter.Username)) { condition.Append(" AND Username=@Username"); query.CreateParameter <string>("@Username", filter.Username, SqlDbType.NVarChar, 50); } if (false == (filter.OperationType == null || (int)filter.OperationType == 0)) { condition.Append(" AND OperationType=@OperationType"); query.CreateParameter <int>("@OperationType", (int)filter.OperationType, SqlDbType.SmallInt); } if (filter.BeginDate != null) { condition.Append(" AND OperationDate>=@BeginDate"); query.CreateParameter <DateTime>("@BeginDate", filter.BeginDate.Value, SqlDbType.DateTime); } if (filter.EndDate != null) { condition.Append(" AND OperationDate<=@EndDate"); query.CreateParameter <DateTime>("@EndDate", filter.EndDate.Value, SqlDbType.DateTime); } if (filter.MobilePhone != null) { condition.Append(" AND MobilePhone = @MobilePhone"); query.CreateParameter <long>("@MobilePhone", filter.MobilePhone.Value, SqlDbType.BigInt); } query.Pager.SortField = SortField; query.Pager.PageNumber = pagenumber; query.Pager.PageSize = filter.PageSize; query.Pager.TableName = "bx_UserMobileOperationLogs"; query.Pager.PrimaryKey = "LogID"; query.Pager.IsDesc = filter != null ? filter.IsDesc : true; query.Pager.SelectCount = true; if (condition.Length > 0) { query.Pager.Condition = condition.ToString().Substring(4); } using (XSqlDataReader reader = query.ExecuteReader()) { UserMobileLogCollection collection = new UserMobileLogCollection(reader); if (reader.NextResult()) { if (reader.Next) { collection.TotalRecords = reader.Get <int>(0); } } return(collection); } } }