Example #1
0
        public IList <UserErnieInfo> GetList()
        {
            StringBuilder sb = new StringBuilder(250);

            sb.Append(@"select Id,UserId,ErnieId,WinGold,WinSilver,LastUpdatedDate 
			            from UserErnie
					    order by LastUpdatedDate desc "                    );

            IList <UserErnieInfo> list = new List <UserErnieInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString()))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        UserErnieInfo model = new UserErnieInfo();
                        model.Id              = reader.GetGuid(0);
                        model.UserId          = reader.GetGuid(1);
                        model.ErnieId         = reader.GetGuid(2);
                        model.WinGold         = reader.GetInt32(3);
                        model.WinSilver       = reader.GetInt32(4);
                        model.LastUpdatedDate = reader.GetDateTime(5);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Example #2
0
        public int Update(UserErnieInfo model)
        {
            StringBuilder sb = new StringBuilder(250);

            sb.Append(@"update UserErnie set UserId = @UserId,ErnieId = @ErnieId,WinGold = @WinGold,WinSilver = @WinSilver,LastUpdatedDate = @LastUpdatedDate 
			            where Id = @Id
					    "                    );

            SqlParameter[] parms =
            {
                new SqlParameter("@Id",              SqlDbType.UniqueIdentifier),
                new SqlParameter("@UserId",          SqlDbType.UniqueIdentifier),
                new SqlParameter("@ErnieId",         SqlDbType.UniqueIdentifier),
                new SqlParameter("@WinGold",         SqlDbType.Int),
                new SqlParameter("@WinSilver",       SqlDbType.Int),
                new SqlParameter("@LastUpdatedDate", SqlDbType.DateTime)
            };
            parms[0].Value = model.Id;
            parms[1].Value = model.UserId;
            parms[2].Value = model.ErnieId;
            parms[3].Value = model.WinGold;
            parms[4].Value = model.WinSilver;
            parms[5].Value = model.LastUpdatedDate;

            return(SqlHelper.ExecuteNonQuery(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString(), parms));
        }
Example #3
0
        public IList <UserErnieInfo> GetList(string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(250);

            sb.Append(@"select Id,UserId,ErnieId,WinGold,WinSilver,LastUpdatedDate
                        from UserErnie ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }

            IList <UserErnieInfo> list = new List <UserErnieInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        UserErnieInfo model = new UserErnieInfo();
                        model.Id              = reader.GetGuid(0);
                        model.UserId          = reader.GetGuid(1);
                        model.ErnieId         = reader.GetGuid(2);
                        model.WinGold         = reader.GetInt32(3);
                        model.WinSilver       = reader.GetInt32(4);
                        model.LastUpdatedDate = reader.GetDateTime(5);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Example #4
0
        public UserErnieInfo GetModel(object Id)
        {
            UserErnieInfo model = null;

            StringBuilder sb = new StringBuilder(300);

            sb.Append(@"select top 1 Id,UserId,ErnieId,WinGold,WinSilver,LastUpdatedDate 
			                   from UserErnie
							   where Id = @Id "                            );
            SqlParameter parm = new SqlParameter("@Id", SqlDbType.UniqueIdentifier);

            parm.Value = Guid.Parse(Id.ToString());

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString(), parm))
            {
                if (reader != null)
                {
                    while (reader.Read())
                    {
                        model                 = new UserErnieInfo();
                        model.Id              = reader.GetGuid(0);
                        model.UserId          = reader.GetGuid(1);
                        model.ErnieId         = reader.GetGuid(2);
                        model.WinGold         = reader.GetInt32(3);
                        model.WinSilver       = reader.GetInt32(4);
                        model.LastUpdatedDate = reader.GetDateTime(5);
                    }
                }
            }

            return(model);
        }
Example #5
0
        public IList <UserErnieInfo> GetList(int pageIndex, int pageSize, out int totalRecords, string sqlWhere, params SqlParameter[] cmdParms)
        {
            StringBuilder sb = new StringBuilder(250);

            sb.Append(@"select count(*) from UserErnie ");
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            totalRecords = (int)SqlHelper.ExecuteScalar(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString(), cmdParms);

            if (totalRecords == 0)
            {
                return(new List <UserErnieInfo>());
            }

            sb.Clear();
            int startIndex = (pageIndex - 1) * pageSize + 1;
            int endIndex   = pageIndex * pageSize;

            sb.Append(@"select * from(select row_number() over(order by LastUpdatedDate desc) as RowNumber,
			          Id,UserId,ErnieId,WinGold,WinSilver,LastUpdatedDate
					  from UserErnie "                    );
            if (!string.IsNullOrEmpty(sqlWhere))
            {
                sb.AppendFormat(" where 1=1 {0} ", sqlWhere);
            }
            sb.AppendFormat(@")as objTable where RowNumber between {0} and {1} ", startIndex, endIndex);

            IList <UserErnieInfo> list = new List <UserErnieInfo>();

            using (SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.HnztcTeamDbConnString, CommandType.Text, sb.ToString(), cmdParms))
            {
                if (reader != null && reader.HasRows)
                {
                    while (reader.Read())
                    {
                        UserErnieInfo model = new UserErnieInfo();
                        model.Id              = reader.GetGuid(1);
                        model.UserId          = reader.GetGuid(2);
                        model.ErnieId         = reader.GetGuid(3);
                        model.WinGold         = reader.GetInt32(4);
                        model.WinSilver       = reader.GetInt32(5);
                        model.LastUpdatedDate = reader.GetDateTime(6);

                        list.Add(model);
                    }
                }
            }

            return(list);
        }
Example #6
0
        private void GetBetResult(HttpContext context)
        {
            var list = ErnieDataProxy.GetLatest();

            if (list == null || list.Count == 0)
            {
                int index = 0;
                while (true)
                {
                    Thread.Sleep(5000);
                    list = ErnieDataProxy.GetLatest();
                    if (list.Count > 0)
                    {
                        break;
                    }
                    index++;
                    if (index > 5)
                    {
                        break;
                    }
                }
            }
            if (list != null && list.Count > 0)
            {
                var ernieModel = list[0];
                if (!((DateTime.Now >= ernieModel.StartTime) && (DateTime.Now <= ernieModel.EndTime)))
                {
                    context.Response.Write("{\"success\": true,\"message\": \"\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
                    return;
                }

                var userId = WebCommon.GetUserId();
                if (userId.Equals(Guid.Empty))
                {
                    context.Response.Write("{\"success\": false,\"message\": \"请先登录\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
                    return;
                }

                UserErnie ueBll = new UserErnie();
                Dictionary <string, string> dic = new Dictionary <string, string>();

                var listT = list.ToList();
                var g     = listT.GroupBy(m => m.NumType);
                foreach (var gk in g)
                {
                    var keyList = listT.FindAll(m => m.NumType == gk.Key);
                    var ga      = keyList.GroupBy(m => m.AppearRatio);

                    GLBfb[] arrGLBfb = new GLBfb[ga.Count()];
                    int     i        = 0;
                    foreach (var gak in ga)
                    {
                        arrGLBfb[i]     = new GLBfb();
                        arrGLBfb[i].Bfb = (int)(gak.Key * 100);
                        var currList = keyList.FindAll(m => m.AppearRatio == gak.Key);
                        foreach (var model in currList)
                        {
                            var numArr = model.Num.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            foreach (var num in numArr)
                            {
                                arrGLBfb[i].SjsList.Add(num);
                            }
                        }
                        i++;
                    }

                    RandomForWeight rdfw = new RandomForWeight(arrGLBfb);

                    dic.Add(gk.Key, rdfw.GetGLNumber());
                }

                string gold   = "0";
                string silver = "0";
                string times  = "0";
                foreach (KeyValuePair <string, string> kvp in dic)
                {
                    switch (kvp.Key)
                    {
                    case "倍数":
                        times = kvp.Value;
                        break;

                    case "金币":
                        gold = kvp.Value;
                        break;

                    case "元宝":
                        silver = kvp.Value;
                        break;

                    default:
                        break;
                    }
                }

                int remainTimes = 0;
                using (TransactionScope scope = new TransactionScope())
                {
                    var totalBetCount = ueBll.GetTotalBetCount(userId, ernieModel.ErnieId);
                    remainTimes = ernieModel.UserBetMaxCount - totalBetCount;
                    if (remainTimes < 0)
                    {
                        totalBetCount = 0;
                    }
                    if (remainTimes < 1)
                    {
                        context.Response.Write("{\"success\": false,\"message\": \"摇奖机会还剩 " + 0 + " 次\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\",\"remainTimes\":\"0\"}");
                        return;
                    }

                    UserErnieInfo ueModel = new UserErnieInfo();
                    ueModel.UserId          = userId;
                    ueModel.ErnieId         = ernieModel.ErnieId;
                    ueModel.LastUpdatedDate = DateTime.Now;
                    ueModel.WinGold         = int.Parse(gold) * int.Parse(times);
                    ueModel.WinSilver       = int.Parse(silver) * int.Parse(times);

                    ueBll.Insert(ueModel);

                    UserBaseQueueClient ubqClient = new UserBaseQueueClient();
                    TygaSoft.Services.HnztcQueueService.UserLevelInfo userLevelInfo = new TygaSoft.Services.HnztcQueueService.UserLevelInfo();
                    userLevelInfo.UserId        = userId;
                    userLevelInfo.IsReduce      = false;
                    userLevelInfo.TotalGold     = ueModel.WinGold;
                    userLevelInfo.TotalSilver   = ueModel.WinSilver;
                    userLevelInfo.TotalIntegral = 0;
                    ubqClient.SaveUserLevel(userLevelInfo);

                    scope.Complete();

                    remainTimes = remainTimes - 1;
                }

                context.Response.Write("{\"success\": true,\"message\": \"摇奖机会还剩 " + remainTimes + " 次\",\"gold\": \"" + gold + "\",\"silver\": \"" + silver + "\",\"times\": \"" + times + "\",\"remainTimes\":\"" + remainTimes + "\"}");
            }
            else
            {
                context.Response.Write("{\"success\": true,\"message\": \"\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
            }
        }
Example #7
0
 /// <summary>
 /// 修改数据
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int Update(UserErnieInfo model)
 {
     return(dal.Update(model));
 }
Example #8
0
 /// <summary>
 /// 添加数据到数据库
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int Insert(UserErnieInfo model)
 {
     return(dal.Insert(model));
 }