Exemple #1
0
        public override InviteSerialCollection GetInviteSerials(int operatorUserID, InviteSerialStatus status, string filter, int pageNumber, out int totalCount)
        {
            using (SqlQuery query = new SqlQuery())
            {
                StringBuffer Condition = new StringBuffer();

                Condition += " AND UserID = @UserID";
                query.CreateParameter <int>("@UserID", operatorUserID, SqlDbType.Int);

                if (status != InviteSerialStatus.All)
                {
                    if (status != InviteSerialStatus.Expires)
                    {
                        Condition += " AND [Status] = @Status";
                        query.CreateParameter <byte>("@Status", (byte)status, SqlDbType.TinyInt);
                    }

                    else if (status == InviteSerialStatus.Expires)
                    {
                        Condition += " AND Status <> 1 AND ExpiresDate <= GETDATE()";
                    }
                }

                if (string.IsNullOrEmpty(filter) == false)
                {
                    Condition += " AND (Serial LIKE '%'+ @word +'%' OR ToUserID IN( SELECT UserID FROM bx_Users WHERE Username LIKE '%'+ @word +'%' OR Realname  LIKE '%'+ @word +'%' ))";
                    query.CreateParameter <string>("@word", filter, SqlDbType.NVarChar, 50);
                }

                if (Condition.Length > 0)
                {
                    Condition.Remove(0, 5);
                }

                query.Pager.SortField   = "CreateDate";
                query.Pager.IsDesc      = true;
                query.Pager.TableName   = "[bx_InviteSerials]";
                query.Pager.SelectCount = true;
                query.Pager.PageSize    = 20;
                query.Pager.PageNumber  = pageNumber > 0 ? pageNumber : 1;
                query.Pager.Condition   = Condition.ToString();
                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);
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// 获取邀请码列表
 /// </summary>
 public InviteSerialCollection GetInviteSerials(AuthUser operatorUser, InviteSerialStatus status, string filter, int pageNumber, out int totalCount)
 {
     totalCount = 0;
     if (operatorUser == User.Guest)
     {
         ThrowError(new NotLoginError());
         return(new InviteSerialCollection());
     }
     return(InviteDao.Instance.GetInviteSerials(operatorUser.UserID, status, filter, pageNumber, out totalCount));
 }
        public void InviteSerialStatList(
            string sortBy
            , int pageSize
            , int PageNumber
            , GlobalTemplateMembers.CommonHeadFootTemplate head
            , GlobalTemplateMembers.CommonHeadFootTemplate foot
            , InviteSerialStatTemplate item)
        {
            if (pageSize <= 0)
            {
                pageSize = Consts.DefaultPageSize;
            }

            InviteSerialStatus         orderType = InviteSerialStatus.All;
            InviteSerialStatCollection Stats;


            if (!string.IsNullOrEmpty(sortBy))
            {
                sortBy = sortBy.Trim();
                if (sortBy.Equals("used", StringComparison.OrdinalIgnoreCase))
                {
                    orderType = InviteSerialStatus.Used;
                }
                else if (sortBy.Equals("unused", StringComparison.OrdinalIgnoreCase))
                {
                    orderType = InviteSerialStatus.Unused;
                }
                else if (sortBy.Equals("noreg", StringComparison.OrdinalIgnoreCase))
                {
                    orderType = InviteSerialStatus.Unused;
                }
                else if (sortBy.Equals("expiress", StringComparison.OrdinalIgnoreCase))
                {
                    orderType = InviteSerialStatus.Expires;
                }
            }

            int rowCount;

            Stats = InviteBO.Instance.GetStatList(orderType, pageSize, PageNumber, out rowCount);

            head(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, pageSize));
            if (rowCount > 0)
            {
                UserBO.Instance.FillSimpleUsers(Stats);
                foreach (InviteSerialStat stat in Stats)
                {
                    item.Invoke(stat);
                }
            }
            foot(new GlobalTemplateMembers.CommonHeadFootTemplateParams(rowCount, pageSize));
        }
 public static string InviteSerialStatus_Print(InviteSerialStatus status, string name)
 {
     switch (status)
     {
         case InviteSerialStatus.Used:
             return Lang.Common_Used;
         case InviteSerialStatus.Expires:
             return Lang.Common_Expires;
         case InviteSerialStatus.Unused:
             return Lang.Common_Unused;
     }
     return Lang.Common_Unused;
 }
Exemple #5
0
        public static string InviteSerialStatus_Print(InviteSerialStatus status, string name)
        {
            switch (status)
            {
            case InviteSerialStatus.Used:
                return(Lang.Common_Used);

            case InviteSerialStatus.Expires:
                return(Lang.Common_Expires);

            case InviteSerialStatus.Unused:
                return(Lang.Common_Unused);
            }
            return(Lang.Common_Unused);
        }
Exemple #6
0
        public override InviteSerialStatCollection GetStatList(InviteSerialStatus state, int pageSize, int pageNumber, out int rowCount)
        {
            UpdateExpiresSerialStatus();
            using (SqlQuery query = new SqlQuery())
            {
                string orderField = "[TotalSerial]";

                switch (state)
                {
                case InviteSerialStatus.Used:
                    orderField = "[Used]";
                    break;

                case InviteSerialStatus.Expires:
                    orderField = "Expiress";
                    break;

                case InviteSerialStatus.Unused:
                    orderField = "Unused";
                    break;
                }

                query.Pager.TableName   = "bx_SerialCounter";
                query.Pager.PageNumber  = pageNumber > 0 ? pageNumber : 1;
                query.Pager.PageSize    = pageSize > 0 ? pageSize : 20;
                query.Pager.SelectCount = true;
                query.Pager.SortField   = orderField;
                query.Pager.PrimaryKey  = "[UserID]";

                rowCount = 0;
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    InviteSerialStatCollection stats = new InviteSerialStatCollection(reader);
                    if (reader.NextResult())
                    {
                        if (reader.Read())
                        {
                            rowCount = reader.GetInt32(0);
                        }
                    }
                    return(stats);
                }
            }
        }
Exemple #7
0
 public abstract InviteSerialCollection GetInviteSerials(int operatorUserID, InviteSerialStatus status, string filter, int pageNumber, out int totalCount);
Exemple #8
0
 public abstract InviteSerialStatCollection GetStatList(InviteSerialStatus state, int pageSize, int pageNumber, out int rowCount);
Exemple #9
0
        public override InviteSerialCollection GetInviteSerials(int operatorUserID, InviteSerialStatus status, string filter, int pageNumber, out int totalCount)
        {
            using (SqlQuery query = new SqlQuery())
            {
                StringBuffer Condition = new StringBuffer();

                Condition += " AND UserID = @UserID";
                query.CreateParameter<int>("@UserID", operatorUserID, SqlDbType.Int);

                if (status != InviteSerialStatus.All)
                {

                    if (status != InviteSerialStatus.Expires)
                    {
                        Condition += " AND [Status] = @Status";
                        query.CreateParameter<byte>("@Status", (byte)status, SqlDbType.TinyInt);
                    }

                    else if (status == InviteSerialStatus.Expires)
                    {
                        Condition += " AND Status <> 1 AND ExpiresDate <= GETDATE()";
                    }
                }

                if (string.IsNullOrEmpty(filter) == false)
                {
                    Condition += " AND (Serial LIKE '%'+ @word +'%' OR ToUserID IN( SELECT UserID FROM bx_Users WHERE Username LIKE '%'+ @word +'%' OR Realname  LIKE '%'+ @word +'%' ))";
                    query.CreateParameter<string>("@word", filter, SqlDbType.NVarChar, 50);
                }

                if (Condition.Length > 0)
                    Condition.Remove(0, 5);

                query.Pager.SortField = "CreateDate";
                query.Pager.IsDesc = true;
                query.Pager.TableName = "[bx_InviteSerials]";
                query.Pager.SelectCount = true;
                query.Pager.PageSize = 20;
                query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1;
                query.Pager.Condition = Condition.ToString();
                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;
                }
            }

        }
Exemple #10
0
        public override InviteSerialStatCollection GetStatList(InviteSerialStatus state, int pageSize, int pageNumber, out int rowCount)
        {
            UpdateExpiresSerialStatus();
            using (SqlQuery query = new SqlQuery())
            {
                string orderField = "[TotalSerial]";

                switch (state)
                {
                    case InviteSerialStatus.Used:
                        orderField = "[Used]";
                        break;
                    case InviteSerialStatus.Expires:
                        orderField = "Expiress";
                        break;
                    case InviteSerialStatus.Unused:
                        orderField = "Unused";
                        break;
                }

                query.Pager.TableName = "bx_SerialCounter";
                query.Pager.PageNumber = pageNumber > 0 ? pageNumber : 1;
                query.Pager.PageSize = pageSize > 0 ? pageSize : 20;
                query.Pager.SelectCount = true;
                query.Pager.SortField = orderField;
                query.Pager.PrimaryKey = "[UserID]";

                rowCount = 0;
                using (XSqlDataReader reader = query.ExecuteReader())
                {
                    InviteSerialStatCollection stats = new InviteSerialStatCollection(reader);
                    if (reader.NextResult())
                    {
                        if (reader.Read())
                            rowCount = reader.GetInt32(0);
                    }
                    return stats;
                }
            }
        }
Exemple #11
0
 /// <summary>
 /// 邀请码统计列表
 /// </summary>
 /// <returns></returns>
 public InviteSerialStatCollection GetStatList(InviteSerialStatus state, int pageSize, int pageNumber, out int rowCount)
 {
     return(InviteDao.Instance.GetStatList(state, pageSize, pageNumber, out rowCount));
 }