Example #1
0
 public async Task <IActionResult> GetRankingList([FromBody] ParamRankingList paramRankingList)
 {
     return(await ActionWrapAsync(async() =>
     {
         ResultData <RpsData <RpsRankingList> > result = new ResultData <RpsData <RpsRankingList> >();
         var param = HttpContext.User.GetUserBase(paramRankingList);
         result.Data = await _gameService.GetRankingList(param);
         return result;
     }));
 }
Example #2
0
        public async Task <RpsData <RpsRankingList> > GetRankingList(ParamRankingList param)
        {
            var parameters = new List <object>();

            parameters.Add(new SqlParameter("@UserId", param.Id));
            parameters.Add(new SqlParameter("@Gate", param.Gate));
            parameters.Add(new SqlParameter("@GameType", param.GameType));
            parameters.Add(new SqlParameter("@Take", param.Num));
            var rankinglist = await _context.SqlQueryAsync <BaseRanking>(@"select *from 
                                            (
                                            select u.Icon, u.NickName as Name,s.Score,
                                            ROW_NUMBER() OVER(order by s.Score desc) as Number 
                                            from  [dbo].[Game_UserTB] u
                                            inner join [dbo].[Game_UserScore] s on u.Id=s.UserId
                                            where u.GameType=@GameType and u.Status=0 and s.Gate=@Gate
                                             )
                                            temp where temp.Number<=@Take", parameters);

            var myrankinglist = await _context.SqlQueryAsync <BaseRanking>(@"select *from 
                                            (
                                            select u.Icon, u.NickName as Name,s.Score,u.Id,
                                            ROW_NUMBER() OVER(order by s.Score desc) as Number 
                                            from  [dbo].[Game_UserTB] u
                                            inner join [dbo].[Game_UserScore] s on u.Id=s.UserId
                                            where u.GameType=@GameType and u.Status=0 and s.Gate=@Gate
                                             )
                                            temp where temp.Id<=@UserId", parameters);


            var result = new RpsRankingList()
            {
                MyRanking = myrankinglist.FirstOrDefault(),
                OtherList = rankinglist
            };

            return(RpsData <RpsRankingList> .Ok(result));
        }
Example #3
0
 public async Task <RpsData <RpsRankingList> > GetRankingList(ParamRankingList param)
 {
     return(await _gameRepository.GetRankingList(param));
 }