Beispiel #1
0
        public override bool CheckOverFlowBuyCount(int userID, InviteBuyInterval interval, int canBuyCount)
        {
            if (interval == InviteBuyInterval.Disable)
            {
                return(false);
            }

            using (SqlQuery query = new SqlQuery())
            {
                DateTime beginTime = DateTimeUtil.Now, endTime = DateTimeUtil.Now;

                switch (interval)
                {
                case InviteBuyInterval.ByDay:
                    beginTime = DateTimeUtil.Now.AddDays(-1);
                    break;

                case InviteBuyInterval.ByHour:
                    beginTime = DateTimeUtil.Now.AddHours(-1);
                    break;

                case InviteBuyInterval.ByMonth:
                    beginTime = DateTimeUtil.Now.AddMonths(-1);
                    break;

                case InviteBuyInterval.ByYear:
                    beginTime = DateTimeUtil.Now.AddYears(-1);
                    break;
                }

                query.CreateParameter <int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter <DateTime>("@BeginTime", beginTime, SqlDbType.DateTime);
                query.CreateParameter <DateTime>("@EndTime", endTime, SqlDbType.DateTime);
                query.CreateParameter <int>("@BuyCount", canBuyCount, SqlDbType.Int);

                query.CommandText = "bx_CheckOverFlowBuyCount";
                query.CommandType = CommandType.StoredProcedure;

                object result = null;
                result = query.ExecuteScalar();

                if (result == null)
                {
                    return(false);
                }

                if (Convert.ToInt32(result) == 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
        }
Beispiel #2
0
        public override int GetBuyCountOfTimeSpan(int userID, InviteBuyInterval interval)
        {
            if (interval == InviteBuyInterval.Disable)
            {
                return(-1);
            }

            using (SqlQuery query = new SqlQuery())
            {
                DateTime beginTime = DateTimeUtil.Now, endTime = DateTimeUtil.Now;

                switch (interval)
                {
                case InviteBuyInterval.ByDay:
                    beginTime = DateTimeUtil.Now.AddDays(-1);
                    break;

                case InviteBuyInterval.ByHour:
                    beginTime = DateTimeUtil.Now.AddHours(-1);
                    break;

                case InviteBuyInterval.ByMonth:
                    beginTime = DateTimeUtil.Now.AddMonths(-1);
                    break;

                case InviteBuyInterval.ByYear:
                    beginTime = DateTimeUtil.Now.AddYears(-1);
                    break;
                }



                query.CreateParameter <int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter <DateTime>("@BeginTime", beginTime, SqlDbType.DateTime);
                query.CreateParameter <DateTime>("@EndTime", endTime, SqlDbType.DateTime);

                query.CommandText = "SELECT COUNT(*) FROM bx_InviteSerials WHERE UserID = @UserID AND CreateDate BETWEEN @BeginTime AND @EndTime";


                object result = null;
                result = query.ExecuteScalar();

                if (result == null)
                {
                    return(0);
                }

                return(Convert.ToInt32(result));
            }
        }
Beispiel #3
0
        public override bool CheckOverFlowBuyCount(int userID, InviteBuyInterval interval, int canBuyCount)
        {

            if (interval == InviteBuyInterval.Disable) return false;

            using (SqlQuery query = new SqlQuery())
            {
                DateTime beginTime = DateTimeUtil.Now, endTime = DateTimeUtil.Now;

                switch (interval)
                {
                    case InviteBuyInterval.ByDay:
                        beginTime = DateTimeUtil.Now.AddDays(-1);
                        break;
                    case InviteBuyInterval.ByHour:
                        beginTime = DateTimeUtil.Now.AddHours(-1);
                        break;
                    case InviteBuyInterval.ByMonth:
                        beginTime = DateTimeUtil.Now.AddMonths(-1);
                        break;
                    case InviteBuyInterval.ByYear:
                        beginTime = DateTimeUtil.Now.AddYears(-1);
                        break;
                }

                query.CreateParameter<int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter<DateTime>("@BeginTime", beginTime, SqlDbType.DateTime);
                query.CreateParameter<DateTime>("@EndTime", endTime, SqlDbType.DateTime);
                query.CreateParameter<int>("@BuyCount", canBuyCount, SqlDbType.Int);

                query.CommandText = "bx_CheckOverFlowBuyCount";
                query.CommandType = CommandType.StoredProcedure;

                object result = null;
                result = query.ExecuteScalar();

                if (result == null) return false;

                if (Convert.ToInt32(result) == 0)
                    return false;
                else
                    return true;
            }
        }
Beispiel #4
0
 /// <summary>
 /// 检查用户购买邀请码的数量是否超出系统设置值
 /// </summary>
 /// <param name="interval">当前的购买间隔限制</param>
 /// <param name="canBuyCount">最多能购买的数量</param>
 /// <returns></returns>
 public abstract bool CheckOverFlowBuyCount(int userID, InviteBuyInterval interval, int canBuyCount);
Beispiel #5
0
 public abstract int GetBuyCountOfTimeSpan(int userID, InviteBuyInterval interval);
 public InviteSerialBuyOverflow(int canBuyCount, InviteBuyInterval interval)
 {
     _canBuyCount = canBuyCount;
     _interval    = interval;
 }
Beispiel #7
0
        public override int GetBuyCountOfTimeSpan(int userID, InviteBuyInterval interval)
        {
            if (interval == InviteBuyInterval.Disable) return -1;

            using (SqlQuery query = new SqlQuery())
            {
                DateTime beginTime = DateTimeUtil.Now, endTime = DateTimeUtil.Now;

                switch (interval)
                {
                    case InviteBuyInterval.ByDay:
                        beginTime = DateTimeUtil.Now.AddDays(-1);
                        break;
                    case InviteBuyInterval.ByHour:
                        beginTime = DateTimeUtil.Now.AddHours(-1);
                        break;
                    case InviteBuyInterval.ByMonth:
                        beginTime = DateTimeUtil.Now.AddMonths(-1);
                        break;
                    case InviteBuyInterval.ByYear:
                        beginTime = DateTimeUtil.Now.AddYears(-1);
                        break;
                }



                query.CreateParameter<int>("@UserID", userID, SqlDbType.Int);
                query.CreateParameter<DateTime>("@BeginTime", beginTime, SqlDbType.DateTime);
                query.CreateParameter<DateTime>("@EndTime", endTime, SqlDbType.DateTime);

                query.CommandText = "SELECT COUNT(*) FROM bx_InviteSerials WHERE UserID = @UserID AND CreateDate BETWEEN @BeginTime AND @EndTime";


                object result = null;
                result = query.ExecuteScalar();

                if (result == null) return 0;

                return Convert.ToInt32(result);

            }
        }
 public InviteSerialBuyOverflow(int canBuyCount, InviteBuyInterval interval)
 {
     _canBuyCount = canBuyCount;
     _interval = interval;
 }