Example #1
0
        internal override MarketEntityBase ToMarketEntity(int matchID, int stage)
        {
            if (OddsStatus == "closePrice")
            {
                return(null);
            }
            if (!Hdp.HasValue || !HomeOdds.HasValue || !AwayOdds.HasValue)
            {
                return(null);
            }
            if (Hdp.Value == 0 && HomeOdds.Value == 0 && AwayOdds.Value == 0)
            {
                return(null);
            }

            return(new MarketTwo()
            {
                CouID = MarketTools.CreateCouID(matchID, MarketID, Hdp.GetValueOrDefault()),
                MarketID = MarketID,
                Stage = stage,
                Hdp = Hdp.Value,
                HomeOdds = HomeOdds.Value,
                AwayOdds = AwayOdds.Value
            });
        }
Example #2
0
        internal override MarketEntityBase ToMarketEntity(int matchID, int stage)
        {
            if (OddsStatus == "closePrice")
            {
                return(null);
            }
            if (!Draw.HasValue || !HomeOdds.HasValue || !AwayOdds.HasValue)
            {
                return(null);
            }
            if (Draw.Value == 0 && HomeOdds.Value == 0 && AwayOdds.Value == 0)
            {
                return(null);
            }

            return(new Market1x2()
            {
                CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
                MarketID = MarketID,
                Stage = stage,
                HomeOdds = HomeOdds.Value,
                DrawOdds = Draw.Value,
                AwayOdds = AwayOdds.Value
            });
        }
Example #3
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new Take1X2Dto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
         DrawOdds = DrawOdds,
         HomeOdds = HomeOdds,
         AwayOdds = AwayOdds,
     });
 }
Example #4
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new TakeTotalGoalDto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
         Odds01 = Odds01,
         Odds23 = Odds23,
         Odds46 = Odds46,
         Odds70 = Odds70,
     });
 }
Example #5
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new TakeTwoDto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         Tax = Tax,
         CouID = MarketTools.CreateCouID(matchID, MarketID, Hdp),
         Hdp = Hdp,
         HomeOdds = HomeOdds,
         AwayOdds = AwayOdds,
         Dubious = Dubious
     });
 }
Example #6
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new TakeFglgDto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
         HFOdds = HFOdds,
         HLOdds = HLOdds,
         AFOdds = AFOdds,
         ALOdds = ALOdds,
         NGOdds = NOOdds,
     });
 }
Example #7
0
        private void SendCloseCoupon(long couID)
        {
            if (MatchID == 0)
            {
                return;
            }
            var hdp      = MarketTools.GetHdpByCouID(couID);
            var marketID = MarketTools.GetMarketIDByCouID(couID);

            Communicator.Send(TakeServerCommand.MarketClose, new TakeMarketClose()
            {
                CouID    = MarketTools.CreateCouID(MatchID, marketID, hdp),
                TakeType = takeType,
                MarketID = marketID,
                MatchID  = MatchID,
                Hdp      = hdp
            });
        }
Example #8
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new TakeHtFtDto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
         HHOdds = HHOdds,
         HAOdds = HAOdds,
         HDOdds = HDOdds,
         DHOdds = DHOdds,
         DAOdds = DAOdds,
         DDOdds = DDOdds,
         AHOdds = AHOdds,
         AAOdds = AAOdds,
         ADOdds = ADOdds,
     });
 }
    private void DoOK()
    {
        CommodityInfo commodityInfo = MarketManager.Instance.GetCommodityInfo(this.iId);

        if (commodityInfo != null)
        {
            if (!MarketTools.IsEnoughIntergral(this.iId))
            {
                UIManagerControl.Instance.ShowToastText("段位不足");
                return;
            }
            if (!MarketTools.IsEnoughMoney(BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(this.iId, 1), BaseMarketManager.CurrentManagerInstance.GetCommodityMoneyType(this.iId)))
            {
                UIManagerControl.Instance.OpenSourceReferenceUI(MoneyType.GetItemId(commodityInfo.moneyType), null);
                return;
            }
            MarketManager.Instance.SendBuyShopCommodity(MarketManager.Instance.CurrentShopID, this.iId);
        }
    }
Example #10
0
 internal override MarketBase ToTakeMarketDto(int matchID, int takeType)
 {
     return(new TakeCsDto()
     {
         MatchID = matchID,
         TakeType = takeType,
         MarketID = MarketID,
         CouID = MarketTools.CreateCouID(matchID, MarketID, 0),
         Odds00 = Odds00,
         Odds01 = Odds01,
         Odds02 = Odds02,
         Odds03 = Odds03,
         Odds04 = Odds04,
         Odds10 = Odds10,
         Odds11 = Odds11,
         Odds12 = Odds12,
         Odds13 = Odds13,
         Odds14 = Odds14,
         Odds20 = Odds20,
         Odds21 = Odds21,
         Odds22 = Odds22,
         Odds23 = Odds23,
         Odds24 = Odds24,
         Odds30 = Odds30,
         Odds31 = Odds31,
         Odds32 = Odds32,
         Odds33 = Odds33,
         Odds34 = Odds34,
         Odds40 = Odds40,
         Odds41 = Odds41,
         Odds42 = Odds42,
         Odds43 = Odds43,
         Odds44 = Odds44,
         Odds50 = Odds50,
         Odds05 = Odds05,
         AnyOdds = AnyOdds
     });
 }
Example #11
0
    private void SetMoney(int num)
    {
        int num2;

        if (this.m_iId > 0)
        {
            num2 = BaseMarketManager.CurrentManagerInstance.GetCommodityPrice(this.m_iId, num);
        }
        else
        {
            num2 = this.m_group_price * num;
        }
        bool   flag = MarketTools.IsEnoughMoney(num2, this.m_money_type);
        string text = "x" + num2;

        if (flag)
        {
            this.CostNum = " " + text;
        }
        else
        {
            this.CostNum = " " + TextColorMgr.GetColorByID(text, 1000007);
        }
    }
Example #12
0
        private KeyValuePair <string, KeepOddsMatch>?DealOddsInfo(JToken jtoken, NormalParam normalParam, bool isExistMatch)
        {
            try
            {
                KeyValuePair <string, KeepOddsMatch>?updateKom = null;
                var                 keepOdds = KeepOddsManager.Instance.AddOrGetKeepOdds(normalParam.Stage);
                string              oddsId   = jtoken["oddsid"].ToString();
                ParseOddsInfo       poi      = null;
                SrcMarketEntityBase smb      = null;
                bool                isUpdate = false;
                if (!keepOdds.OddsIdExist(oddsId))
                {
                    if (jtoken["matchid"] == null)
                    {
                        return(null);
                    }

                    string matchId = jtoken["matchid"].ToString();
                    if (!matchEntityManager.MatchExist(matchId))
                    {
                        return(null);
                    }
                    var bettype = jtoken["bettype"].ToString();
                    poi = OddsFactory.CreatOdds(bettype);
                    poi.CompareSet(jtoken, false);
                    //  只处理需要的盘口类型
                    if (normalParam.LimitMarketIdList.Contains(poi.MarketId))
                    {
                        KeepOddsMatch kom = null;
                        if (!string.IsNullOrEmpty(poi.Resourceid))
                        {
                            var mainMatch = matchEntityManager.Get(matchId);
                            matchId = matchId + poi.Resourceid;
                            if (mainMatch.SportID == 2)
                            {
                                var quarterMatch = matchEntityManager.Get(matchId);
                                if (quarterMatch == null)
                                {//  自生成篮球小节的比赛
                                    var quarter = poi.Resourceid == "01" ? " - First Quarter" :
                                                  poi.Resourceid == "02" ? " - Second Quarter" :
                                                  poi.Resourceid == "03" ? " - Third Quarter" :
                                                  poi.Resourceid == "03" ? " - Fourth Quarter" : " - UnKnown Quarter";
                                    quarterMatch = matchEntityManager.GetOrAdd(matchId, mainMatch.SrcLeague + quarter, mainMatch.SrcHome, mainMatch.SrcAway, mainMatch.SrcMatchDate, mainMatch.SportID, true);
                                }
                                quarterMatch.CompareToStage(normalParam.Stage);
                                kom      = keepOdds.GetOrAdd(matchId);
                                isUpdate = true;    //  以更新盘口处理方式发送小节比赛里的盘口数据
                            }
                        }
                        else
                        {
                            kom = keepOdds.GetOrAdd(matchId);
                            //  如果本次数据块中,新加的当前盘口之前并没有比赛信息,说明这个盘口数据是因为传输数据被分块,导致与比赛信息隔开了再发送的,此时这个盘口应当以更新方式发送
                            if (!isExistMatch)
                            {
                                isUpdate = true;
                            }
                        }

                        if (kom == null)
                        {
                            return(null);
                        }

                        kom.UpdateOddsIdList(poi.MarketId, new List <string>()
                        {
                            oddsId
                        });

                        if (MarketTools.CheckTwoMakret(poi.MarketId))
                        {
                            smb = keepOdds.AddOrGetMarket <SrcMarketTwo>(oddsId);
                        }
                        else if (poi.MarketId == (int)MarketTypeEnum.H_1X2 || poi.MarketId == (int)MarketTypeEnum.F_1X2)
                        {
                            smb = keepOdds.AddOrGetMarket <SrcMarket1X2>(oddsId);
                        }

                        if (smb != null)
                        {
                            smb.SrcMatchId = matchId;
                            smb.SrcCouID   = oddsId;
                            smb.Bettype    = bettype;
                            smb.MarketID   = poi.MarketId;
                            smb.OddsStatus = poi.OddsStatus;
                        }
                    }
                }
                else
                {
                    //  更新的盘口直接更新缓存中
                    smb = keepOdds.GetMarket <SrcMarketEntityBase>(oddsId);
                    if (smb != null)
                    {
                        poi          = OddsFactory.CreatOdds(smb.Bettype);
                        poi.MarketId = smb.MarketID;
                        poi.CompareSet(jtoken);
                        isUpdate = true;
                    }
                }

                if (smb != null)
                {
                    smb.SetOdds(poi.GetDataArr());
                    if (isUpdate)
                    {
                        updateKom = new KeyValuePair <string, KeepOddsMatch>(smb.SrcMatchId, keepOdds.GetOrAdd(smb.SrcMatchId));
                    }

                    JsonSerializerSettings jsetting = new JsonSerializerSettings();
                    jsetting.NullValueHandling = NullValueHandling.Ignore;
                    var str = JsonConvert.SerializeObject(smb, jsetting);

                    Console.WriteLine("market = " + str);
                }
                //else
                //{
                //    //有些盘口是不需要的
                //    logger.Error("Cannot get market  ParseOddsInfo = " + JsonConvert.SerializeObject(poi));
                //}
                return(updateKom);
            }
            catch (Exception e)
            {
                logger.Error(e.ToString());
                return(null);
            }
        }