Beispiel #1
0
        /// <summary>
        /// Итоговый счёт со всех бирж
        /// </summary>
        /// <returns>Счёт со всех бирж</returns>
        public string GetNewS()
        {
            var     max     = betfairScoreTime;
            TypeDBO typeMax = TypeDBO.BetFair;

            if ((max.CompareTo(bet365ScoreTime) < 0) && (prevScoreBetfair != " : "))
            {
                max     = bet365ScoreTime;
                typeMax = TypeDBO.Bet365;
            }
            if ((max.CompareTo(skyBetScoreTime) < 0) && (prevScoreSkyBet != " : "))
            {
                max     = skyBetScoreTime;
                typeMax = TypeDBO.SkyBet;
            }
            var result = "";

            switch (typeMax)
            {
            case TypeDBO.Bet365:
                result = Get365S();
                break;

            case TypeDBO.BetFair:
                result = GetBetfairS();
                break;

            case TypeDBO.SkyBet:
                result = GetSkyBetS();
                break;
            }
            ScoreNewOne = result.Split(':')[0].Trim();
            ScoreNewTwo = result.Split(':')[1].Trim();
            return(result);
        }
Beispiel #2
0
        public Market(string marketName, Player player1, Player player2,
                      string eventId, TypeDBO typeDbo)
        {
            MarketName = marketName;
            Player1    = player1;
            Player2    = player2;
            switch (typeDbo)
            {
            case TypeDBO.SkyBet:
                SkyBetEventId = eventId;
                break;

            case TypeDBO.Bet365:
                Bet365EventId = eventId;
                break;

            case TypeDBO.BetFair:
                BetfairEventId = eventId;
                break;
            }
            Player1.PlayerHanlder += Player1OnPlayerHanlder;
            Player2.PlayerHanlder += Player2OnPlayerHanlder;

            MarketChanged?.Invoke(new MarketUpdEventArgs(this));
        }
Beispiel #3
0
        private string CheckForNullScore(string score, Label labelToView, TypeDBO type)
        {
            switch (type)
            {
            case TypeDBO.BetFair:
                if (score.Equals(" : "))
                {
                    score            = "No score";
                    labelToView.Text = "No game information on Betfair. It can be tried to update market.";
                }
                break;

            case TypeDBO.Bet365:
                if (score.Equals(" : "))
                {
                    score            = "No score";
                    labelToView.Text = "No game information on Bet365. It can be tried to update market.";
                }
                break;

            case TypeDBO.SkyBet:
                if (score.Equals(" : "))
                {
                    score            = "No score";
                    labelToView.Text = "No game information on SkyBet. It can be tried to update market.";
                }
                break;
            }
            return(score);
        }
        public static StatusInternet CheckConnection(TypeDBO dboType)
        {
            try
            {
                var result = Check(dboType);
                return StatusInternet.Ok;
            }
            catch (WebException ex)
            {
                if (ex.Status == WebExceptionStatus.Timeout)
                {
                    return StatusInternet.BigDelay;

                }
                else
                {
                    return StatusInternet.NoAvirable;
                }
            }
            catch (Exception exception)
            {
                Debug.WriteLine("Connection problem with: " + dboType + " message" + exception.Message + " Data: " +
                                exception.Data);
                return StatusInternet.NoAvirable;
            }
        }
 public static StatusInternet CheckConnection(TypeDBO dboType)
 {
     try
     {
         var result = Check(dboType);
         return(StatusInternet.Ok);
     }
     catch (WebException ex)
     {
         if (ex.Status == WebExceptionStatus.Timeout)
         {
             return(StatusInternet.BigDelay);
         }
         else
         {
             return(StatusInternet.NoAvirable);
         }
     }
     catch (Exception exception)
     {
         Debug.WriteLine("Connection problem with: " + dboType + " message" + exception.Message + " Data: " +
                         exception.Data);
         return(StatusInternet.NoAvirable);
     }
 }
Beispiel #6
0
        /// <summary>
        /// Возобновляет работу потоков которые обрабатывают рынок с идфикатором указанном в id;
        /// </summary>
        /// <param name="eventIdType">Индификатор рынка который следует возобновить</param>
        public void UnMarketIngore(TypeDBO evntIDType)
        {
            switch (evntIDType)
            {
            case TypeDBO.None:
                break;

            case TypeDBO.BetFair:
                _threadsScores.Last().UnMarketIgnore(evntIDType);
                break;

            case TypeDBO.Bet365:
                _bet365.IsIgnoredMarket = false;     //new version
                if (!string.IsNullOrEmpty(saveBet365Id))
                {
                    GetScoreMarket(saveBet365Id, TypeDBO.Bet365);
                }
                break;

            case TypeDBO.SkyBet:
                _skyBetNew.IsIgnoredMarket = false;
                if (!string.IsNullOrEmpty(saveSkyBetId))
                {
                    GetScoreMarket(saveSkyBetId, TypeDBO.SkyBet);
                }
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(evntIDType), evntIDType, null);
            }
        }
Beispiel #7
0
        /// <summary>
        /// Метод получения счёта с рынка с индификатором.
        /// </summary>
        /// <param name="eventId">Id рынка</param>
        /// <param name="marketTypeDbo">Тип рынка</param>
        /// <returns>True - если успешно, else - иначе</returns>
        public bool GetScoreMarket(string eventId, TypeDBO marketTypeDbo)
        {
            switch (marketTypeDbo)
            {
            case TypeDBO.Bet365:
            {
                var bet365 = _bet365.SuscribeToScores(eventId);
                if (bet365 == MarketStatus.Closed)
                {
                    return(false);
                }
                saveBet365Id = eventId;
                var currentScore  = _bet365.GetCurrentScores();
                var currentScore2 = _bet365.GetCurrentScores();
                if ((currentScore2 == null) || (currentScore2.Count == 0))
                {
                    if ((currentScore != null) && (currentScore.Count != 0))
                    {
                        ParsingInfo.Parse(currentScore);
                        return(true);
                    }
                }
                else
                {
                    ParsingInfo.Parse(currentScore2);
                    return(true);
                }
                return(false);
            }

            case TypeDBO.BetFair:
            {
                var betfairReturn = _betfair.GetScoreEvent(long.Parse(eventId));
                if (betfairReturn.Count == 0)
                {
                    return(false);
                }
                if (betfairReturn[0].matchStatus == null)
                {
                    return(false);
                }
                ParsingInfo.Parse(betfairReturn);

                return(true);
            }

            case TypeDBO.SkyBet:
            {
                var newSkyBetReturn = _skyBetNew.GetScoreses(eventId);
                ParsingInfo.Parse(newSkyBetReturn);
                saveSkyBetId = eventId;
                return(true);
            }

            default:
                return(false);
            }
        }
Beispiel #8
0
 public void UnMarketIgnore(TypeDBO marketTypeDbo)
 {
     switch (marketTypeDbo)
     {
         case TypeDBO.BetFair:
             threadBetfair.Resume();
             break;
     }
 }
Beispiel #9
0
 public void UnMarketIgnore(TypeDBO marketTypeDbo)
 {
     switch (marketTypeDbo)
     {
     case TypeDBO.BetFair:
         threadBetfair.Resume();
         break;
     }
 }
Beispiel #10
0
 public void MarketIgnore(TypeDBO marketType)
 {
     switch (marketType)
     {
         case TypeDBO.BetFair:
             threadBetfair.Suspend();
             break;
         default:
             throw new ArgumentOutOfRangeException(nameof(marketType), marketType, null);
     }
 }
Beispiel #11
0
        public void MarketIgnore(TypeDBO marketType)
        {
            switch (marketType)
            {
            case TypeDBO.BetFair:
                threadBetfair.Suspend();
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(marketType), marketType, null);
            }
        }
        private static bool Check(TypeDBO dboType)
        {
            var address = "";
            var port    = "";

            switch (dboType)
            {
            case TypeDBO.Bet365:
                address = "https://mobile.bet365.com/";
                port    = "80";
                break;

            case TypeDBO.BetFair:
                address =
                    "https://www.betfair.com/inplayservice/v1.1/eventsInPlay?regionCode=UK&alt=json&locale=en_GB" +
                    "&channel=WEB&maxResults=100&eventTypeIds=2";
                port = "80";
                break;

            case TypeDBO.SkyBet:
                address = "https://m.skybet.com/tennis";
                port    = "80";
                break;
            }
            var request = (HttpWebRequest)WebRequest.Create(address);

            request.Timeout   = 2000;
            request.UserAgent = Parse.USER_AGENT;
            var response = (HttpWebResponse)request.GetResponse();

            if (response.StatusCode != HttpStatusCode.OK)
            {
                return(false);
            }

            var dataStream = response.GetResponseStream();

            if (dataStream != null)
            {
                var reader             = new StreamReader(dataStream);
                var responseFromServer = reader.ReadToEnd();
                if (responseFromServer.Length < 100)
                {
                    return(false);
                }
            }
            return(true);
        }
Beispiel #13
0
 public Player(string name, string score, TypeDBO typeDbo)
 {
     Name = name;
     switch (typeDbo)
     {
         case TypeDBO.None:
             break;
         case TypeDBO.BetFair:
             _scoreBetfair = score;
             break;
         case TypeDBO.Bet365:
             _scoreBet365 = score;
             break;
         case TypeDBO.SkyBet:
             _scoreSkyBet = score;
             break;
         default:
             throw new ArgumentOutOfRangeException(nameof(typeDbo), typeDbo, null);
     }
 }
Beispiel #14
0
        /// <summary>
        /// Получить все маркеты с рынков
        /// </summary>
        /// <param name="typeMarket">Тип маркета</param>
        /// <returns>True - если успешно, else - если неудача</returns>
        public bool GetAllMarkets(TypeDBO typeMarket)
        {
            switch (typeMarket)
            {
            case TypeDBO.Bet365:
            {
                var bet365All = _bet365.GetAlllMathes();
                if (bet365All == null)
                {
                    return(false);
                }
                ParsingInfo.Parse(bet365All);
                return(true);
            }

            case TypeDBO.BetFair:
            {
                var betfairAll = _betfair.GetInPlayAllMarkets();
                if (betfairAll == null)
                {
                    return(false);
                }
                ParsingInfo.Parse(betfairAll);
                return(true);
            }

            case TypeDBO.SkyBet:
            {
                var skyBetAll = _skyBetNew.GetAlllMathes();
                if (skyBetAll == null)
                {
                    return(false);
                }
                ParsingInfo.Parse(skyBetAll);
                return(true);
            }

            default:
                return(false);
            }
        }
Beispiel #15
0
        private void GetAll(TypeDBO typeDbo)
        {
            while (true)
            {
                var good = GetAllMarkets(typeDbo);
                if (_countContect > 20)
                {
                    Debug.WriteLine("No connetion to ex: " + typeDbo);
                    _countContect = 0;
                    break;
                }

                if (!good)
                {
                    _countContect++;
                    Thread.Sleep(200);
                    continue;
                }
                _countContect = 0;
                break;
            }
        }
Beispiel #16
0
        public Market(string marketName, Player player1, Player player2,
            string eventId, TypeDBO typeDbo)
        {
            MarketName = marketName;
            Player1 = player1;
            Player2 = player2;
            switch (typeDbo)
            {
                    case TypeDBO.SkyBet:
                        SkyBetEventId = eventId;
                    break;
                    case TypeDBO.Bet365:
                        Bet365EventId = eventId;
                    break;
                    case TypeDBO.BetFair:
                        BetfairEventId = eventId;
                    break;
            }     
            Player1.PlayerHanlder += Player1OnPlayerHanlder;
            Player2.PlayerHanlder += Player2OnPlayerHanlder;

            MarketChanged?.Invoke(new MarketUpdEventArgs(this));
        }
Beispiel #17
0
        public Player(string name, string score, TypeDBO typeDbo)
        {
            Name = name;
            switch (typeDbo)
            {
            case TypeDBO.None:
                break;

            case TypeDBO.BetFair:
                _scoreBetfair = score;
                break;

            case TypeDBO.Bet365:
                _scoreBet365 = score;
                break;

            case TypeDBO.SkyBet:
                _scoreSkyBet = score;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(typeDbo), typeDbo, null);
            }
        }
        private static bool Check(TypeDBO dboType)
        {
            var address = "";
            var port = "";
            switch (dboType)
            {
                case TypeDBO.Bet365:
                    address = "https://mobile.bet365.com/";
                    port = "80";
                    break;
                case TypeDBO.BetFair:
                    address =
                        "https://www.betfair.com/inplayservice/v1.1/eventsInPlay?regionCode=UK&alt=json&locale=en_GB" +
                        "&channel=WEB&maxResults=100&eventTypeIds=2";
                    port = "80";
                    break;
                case TypeDBO.SkyBet:
                    address = "https://m.skybet.com/tennis";
                    port = "80";
                    break;
            }
            var request = (HttpWebRequest) WebRequest.Create(address);
            request.Timeout = 2000;
            request.UserAgent = Parse.USER_AGENT;
            var response = (HttpWebResponse) request.GetResponse();

            if (response.StatusCode != HttpStatusCode.OK) return false;

            var dataStream = response.GetResponseStream();
            if (dataStream != null)
            {
                var reader = new StreamReader(dataStream);
                var responseFromServer = reader.ReadToEnd();
                if (responseFromServer.Length < 100) return false;
            }
            return true;
        }
Beispiel #19
0
 public GetScoreStruct(TypeDBO typeDbo, object eventId)
 {
     this.typeDbo = typeDbo;
     this.eventId = eventId;
 }
Beispiel #20
0
 /// <summary>
 /// Получить все маркеты с рынков
 /// </summary>
 /// <param name="typeMarket">Тип маркета</param>
 /// <returns>True - если успешно, else - если неудача</returns>
 public bool GetAllMarkets(TypeDBO typeMarket)
 {
     switch (typeMarket)
     {
         case TypeDBO.Bet365:
         {
             var bet365All = _bet365.GetAlllMathes();
             if (bet365All == null) return false;
             ParsingInfo.Parse(bet365All);
             return true;
         }
         case TypeDBO.BetFair:
         {
             var betfairAll = _betfair.GetInPlayAllMarkets();
             if (betfairAll == null) return false;
             ParsingInfo.Parse(betfairAll);
             return true;
         }
         case TypeDBO.SkyBet:
         {
             var skyBetAll = _skyBetNew.GetAlllMathes();
             if (skyBetAll == null) return false;
             ParsingInfo.Parse(skyBetAll);
             return true;
         }
         default:
             return false;
     }
 }
Beispiel #21
0
        private void GetAll(TypeDBO typeDbo)
        {
            while (true)
            {
                var good = GetAllMarkets(typeDbo);
                if (_countContect > 20)
                {
                    Debug.WriteLine("No connetion to ex: " + typeDbo);
                    _countContect = 0;
                    break;
                }

                if (!good)
                {
                    _countContect++;
                    Thread.Sleep(200);
                    continue;
                }
                _countContect = 0;
                break;
            }
        }
Beispiel #22
0
        /// <summary>
        /// Метод получения счёта с рынка с индификатором.
        /// </summary>
        /// <param name="eventId">Id рынка</param>
        /// <param name="marketTypeDbo">Тип рынка</param>
        /// <returns>True - если успешно, else - иначе</returns>
        public bool GetScoreMarket(string eventId, TypeDBO marketTypeDbo)
        {
            switch (marketTypeDbo)
            {
                case TypeDBO.Bet365:
                {
                    var bet365 = _bet365.SuscribeToScores(eventId);
                    if (bet365 == MarketStatus.Closed)
                        return false;
                    saveBet365Id = eventId;
                    var currentScore = _bet365.GetCurrentScores();
                    var currentScore2 = _bet365.GetCurrentScores();
                    if ((currentScore2 == null) || (currentScore2.Count == 0))
                    {
                        if ((currentScore != null) && (currentScore.Count != 0))
                        {
                            ParsingInfo.Parse(currentScore);
                            return true;
                        }
                    }
                    else
                    {
                        ParsingInfo.Parse(currentScore2);
                        return true;
                    }
                    return false;
                }
                case TypeDBO.BetFair:
                {
                    var betfairReturn = _betfair.GetScoreEvent(long.Parse(eventId));
                    if (betfairReturn.Count == 0) return false;
                    if (betfairReturn[0].matchStatus == null) return false;
                    ParsingInfo.Parse(betfairReturn);

                    return true;
                }
                case TypeDBO.SkyBet:
                {
                    var newSkyBetReturn = _skyBetNew.GetScoreses(eventId);
                    ParsingInfo.Parse(newSkyBetReturn);
                    saveSkyBetId = eventId;
                    return true;
                }
                default:
                    return false;
            }
        }
Beispiel #23
0
        /// <summary>
        /// Приостанавливает потоки которые обрабатывают рынок с идфикатором указанном в id;
        /// </summary>
        /// <param name="eventIdType">Индификатор рынка который следует приостоновить</param>
        public void MarketIgnore(TypeDBO eventIdType)
        {
            switch (eventIdType)
            {
                case TypeDBO.None:
                    _skyBetNew.IsIgnoredMarket = false;
                    if (!string.IsNullOrEmpty(saveSkyBetId))
                        GetScoreMarket(saveSkyBetId, TypeDBO.SkyBet);

                    _bet365.IsIgnoredMarket = false; //new version
                    if (!string.IsNullOrEmpty(saveBet365Id))
                        GetScoreMarket(saveBet365Id, TypeDBO.Bet365);

                    _threadsScores.Last().UnMarketIgnore(eventIdType); //old version
                    break;
                case TypeDBO.BetFair:
                    _threadsScores.Last().MarketIgnore(eventIdType); //old
                    break;
                case TypeDBO.Bet365:
                    _bet365.IsIgnoredMarket = true; //new version
                    break;
                case TypeDBO.SkyBet:
                    _skyBetNew.IsIgnoredMarket = true;
                    break;
                default:
                    throw new ArgumentOutOfRangeException(nameof(eventIdType), eventIdType, null);
            }
           // _threadsScores.Last().MarketIgnore(eventIdType);
        }
Beispiel #24
0
 public MessagesEventArgs(TypeDBO typeDbo, string messagePlayerOne, string messagePlayerTwo)
 {
     this.typeDbo = typeDbo;
     this.messagePlayerOne = messagePlayerOne;
     this.messagePlayerTwo = messagePlayerTwo;
 }
Beispiel #25
0
 public MessagesEventArgs(string message, TypeDBO typeDbo)
 {
     this.message = message;
     this.typeDbo = typeDbo;
 }
 public PlayerScoreUpdEventArgs(string score, TypeDBO typeEx)
 {
     Score = score;
     TypeEx = typeEx;
 }
Beispiel #27
0
 public MessagesEventArgs(string message, TypeDBO typeDbo)
 {
     this.message = message;
     this.typeDbo = typeDbo;
 }
Beispiel #28
0
 private string CheckForNullScore(string score, Label labelToView,TypeDBO type)
 {
     switch (type)
     {
         case TypeDBO.BetFair:
             if (score.Equals(" : "))
             {
                 score = "No score";
                 labelToView.Text = "No game information on Betfair. It can be tried to update market.";
             }
             break;
         case TypeDBO.Bet365:
             if (score.Equals(" : "))
             {
                 score = "No score";
                 labelToView.Text = "No game information on Bet365. It can be tried to update market.";
             }
             break;
         case TypeDBO.SkyBet:
             if (score.Equals(" : "))
             {
                 score = "No score";
                 labelToView.Text = "No game information on SkyBet. It can be tried to update market.";
             }
             break;
     }
     return score;
 }
Beispiel #29
0
 public PlayerScoreUpdEventArgs(string score, TypeDBO typeEx)
 {
     Score  = score;
     TypeEx = typeEx;
 }
Beispiel #30
0
 public MessagesEventArgs(TypeDBO typeDbo, string messagePlayerOne, string messagePlayerTwo)
 {
     this.typeDbo          = typeDbo;
     this.messagePlayerOne = messagePlayerOne;
     this.messagePlayerTwo = messagePlayerTwo;
 }
Beispiel #31
0
 public GetScoreStruct(TypeDBO typeDbo, object eventId)
 {
     this.typeDbo = typeDbo;
     this.eventId = eventId;
 }