Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
        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);
                }
            }
        }