public async System.Threading.Tasks.Task <List <BetListDto> > GetBetsByGameAdmin(int id)
        {
            List <BetListDto> BetList = new List <BetListDto>();
            BetsByGameReq     bbgr    = new BetsByGameReq
            {
                GameSn = id
                         //,
                         //      UserID = UserID
            };

            HttpResponseMessage response = await client.PostAsJsonAsync("api/BetsByGame", bbgr);

            if (response.IsSuccessStatusCode)
            {
                BetList = await response.Content.ReadAsAsync <List <BetListDto> >();
            }

            return(BetList);
        }
Пример #2
0
        public async System.Threading.Tasks.Task <ActionResult> BetsByGame(int id)
        {
            string        UserID = User.Identity.GetUserId();
            BetsByGameReq bbgr   = new BetsByGameReq
            {
                GameSn = id
                         //,
                         //UserID = UserID
            };
            List <BetListDto> BetList = new List <BetListDto>();

            HttpResponseMessage response = await client.PostAsJsonAsync("api/BetsByGame", bbgr);

            if (response.IsSuccessStatusCode)
            {
                BetList = await response.Content.ReadAsAsync <List <BetListDto> >();
            }


            return(View(BetList));
        }
        public async System.Threading.Tasks.Task <List <BetListDto> > GetBetsByGame(int id /*,string UserID*/)
        {
            BetsByGameReq bbgr = new BetsByGameReq
            {
                GameSn = id
                         //,
                         //      UserID = UserID
            };

            List <BetListDto> BetList = new List <BetListDto>();

            lock (_cache)
            {
                if (_cache.Contains("GameBets_" + id))
                {
                    return(_cache.Get("GameBets_" + id) as List <BetListDto>);
                }
            }

            HttpResponseMessage response = await client.PostAsJsonAsync("api/BetsByGame", bbgr);

            if (response.IsSuccessStatusCode)
            {
                BetList = await response.Content.ReadAsAsync <List <BetListDto> >();
            }

            lock (_cache)
            {
                CacheItemPolicy cacheItemPolicy = new CacheItemPolicy()
                {
                    AbsoluteExpiration = DateTime.Now.AddDays(1)
                };
                _cache.Add("GameBets_" + id, BetList, cacheItemPolicy);
            }


            return(BetList);
        }
Пример #4
0
        internal List <BetListDto> getBetsByGame(BetsByGameReq bbgr)
        {
            List <BetListDto> BetList = new List <BetListDto>();

            using (IDbConnection cn = new SqlConnection(WebConfigurationManager.ConnectionStrings["SQLData"].ConnectionString.ToString()))
            {
                string query = @"
                SELECT g.sn AS gameSn, g.title AS game
                ,g.betModel
                ,t.sn AS topicSn,t.title AS topic
                ,c.sn AS choiceSn,c.choiceStr AS choice
                ,b.Odds ,b.money,b.sn as betSn
                ,(CASE c.isTrue WHEN 1 THEN Round(pa.realMoney,2) when 2 then 0 ELSE b.money*-1 END) realmoney
                ,t.totalmoney as topicMoney,c.totalMoney as choiceMoney
                ,isnull(g.rake,0) as rake
                ,cu.name AS unit
                ,(case c.isTrue WHEN 1 THEN '勝' WHEN 0 THEN '負' when 2 then '無效' ELSE '未定' END) AS isTrue
                ,(case c.isTrue WHEN 1 THEN 'true' WHEN 0 THEN 'false' when 2 then 'invalid' ELSE 'unknow' END) AS isTrueValue
                ,u.userID,b.comSn
                ,b.createDate as betDatetime,b.equalchoice
                FROM dbo.bets b
                JOIN dbo.choices c ON c.sn=b.choiceSn
                JOIN dbo.topics t ON t.sn=b.topicSn
                JOIN dbo.games g ON g.sn=t.gameSn
                JOIN dbo.users u ON u.sn=b.userSn
                JOIN dbo.cfgUnit cu ON cu.sn=b.unitSn
                JOIN dbo.users uAdmin ON uAdmin.sn=g.userSn
                left join dbo.payouts pa on pa.betSn=b.sn
                WHERE g.sn=@GameSn
                and b.valid in (1,2)
";
                using (var multi = cn.QueryMultiple(query, new { GameSn = bbgr.GameSn }))
                {
                    BetList = multi.Read <BetListDto>().ToList();
                }
            }
            return(BetList);
        }
 public IHttpActionResult BetsByGame(BetsByGameReq bbgr)
 {
     return(Ok(new BetRepository().getBetsByGame(bbgr)));
 }