Esempio n. 1
0
        private void Get_Ligas()
        {
            try
            {
                // получить текущие лиги
                JToken        leaguesJson = api.GetLeagues();
                List <JToken> leagues     = ApiModel.Parse(leaguesJson, "Sports League");
                // записать их в свойство объекта LeaguesList
                foreach (JToken league in leagues)
                {
                    LeagueModel leagueModel = new LeagueModel();
                    leagueModel.LeagueId     = (long)league.SelectToken("LeagueId");
                    leagueModel.LeagueName   = (string)league.SelectToken("LeagueName");
                    leagueModel.MarketTypeId = (int)league.SelectToken("MarketTypeId");
                    leagueModel.Since        = (ulong)league.SelectToken("Since");
                    leagueModel.ListGames    = new List <Game>();

                    leaguesList.Add(leagueModel);
                }
                leaguesList.Sort((a, b) => a.LeagueName.CompareTo(b.LeagueName)); // сортировка
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message + " В реале пока лиг нет");
                var err = new BaseUp().ConBase();
                if (err == "")
                {
                    //   Base = new BaseUp().read_Base(Base, 3);
                    if (UCTable.Base != null)
                    {
                        err = new BaseUp().write_Base(UCTable.Base, UCTable.user_id, UCTable.credit);
                        if (err != "")
                        {
                            MessageBox.Show(err);
                        }
                    }
                }
                else
                {
                    MessageBox.Show(err);
                }
                Environment.Exit(0);
                return;
            }
        }
Esempio n. 2
0
        public void Get_Matches()
        {
            try
            {
                JToken        feedsJson = api.GetFeeds();
                List <JToken> games     = ApiModel.Parse(feedsJson, "Sports MatchGames"); // сбоит когда нет лиг
                Home_Team = "";
                result.Clear();
                foreach (JToken game in games)
                {
                    if (!(bool)game.SelectToken("IsActive"))   // Live ?
                    {
                        //                 continue;
                    }
                    if ((bool)game.SelectToken("WillBeRemoved")) // ?
                    {
                        //                  continue;
                    }
                    var  league   = leaguesList.Find(x => x.LeagueId == (long)game.SelectToken("LeagueId"));
                    Game gameLine = null;

                    if (league != null && league.ListGames.Count > 0)
                    {
                        gameLine = league.ListGames.Find(x => x.MatchId == (long)game.SelectToken("MatchId"));
                    }
                    EventModel events = new EventModel();

                    if (gameLine == null)
                    {
                        gameLine = new Game();
                        Team awayTeam = new Team();
                        Team homeTeam = new Team();
                        gameLine.EventsList = new List <EventModel>();

                        ApiModel.setTeam(awayTeam, game, "AwayTeam");
                        ApiModel.setTeam(homeTeam, game, "HomeTeam");

                        gameLine.AwayTeam        = awayTeam;
                        gameLine.HomeTeam        = homeTeam;
                        gameLine.ExpectedLength  = (int)game.SelectToken("ExpectedLength");     // пока как продолжительность игры
                        gameLine.Favoured        = (int)game.SelectToken("Favoured");           // где применяется? это указывается  фаворит типа. Красным красят что ли в таблице.
                        gameLine.InGameinutes    = (int)game.SelectToken("InGameMinutes");      //  -  ?
                        gameLine.isActive        = (bool)game.SelectToken("IsActive");          //   проверяется в момент ставки
                        gameLine.isLive          = (int)game.SelectToken("IsLive");
                        gameLine.LeagueId        = (long)game.SelectToken("LeagueId");          // -
                        gameLine.LeagueName      = (string)game.SelectToken("LeagueName");
                        gameLine.MarketType      = (string)game.SelectToken("MarketType");      // -
                        gameLine.MarketTypeId    = (int)game.SelectToken("MarketTypeId");       // -
                        gameLine.MatchId         = (long)game.SelectToken("MatchId");           // -
                        gameLine.StartTime       = (ulong)game.SelectToken("StartTime");        // -
                        gameLine.StartsOn        = (string)game.SelectToken("StartsOn");        // -
                        gameLine.ToBeRemovedOn   = (long)game.SelectToken("ToBeRemovedOn");     // -
                        gameLine.UpdatedDateTime = (ulong)game.SelectToken("UpdatedDateTime");  // -
                        gameLine.WillBeRemoved   = (bool)game.SelectToken("WillBeRemoved");     // -
                    }
                    events.GameId = (long)game.SelectToken("GameId");
                    ApiModel.setEventModel(events, game);
                    gameLine.EventsList.Add(events);
                    if (league != null)
                    {
                        league.ListGames.Add(gameLine);
                    }
                }
                Home_Team = "";
                for (int i = 0; i < leaguesList.Count; i++)
                {
                    result.Add(new MyTable("", leaguesList[i].LeagueName, "", "", "", "", "", "", "", "", "", "", "", "", "", "", leaguesList[i].LeagueId.ToString(), "", "", "", "", ""));
                    int j = 0;
                    int k = 0;
                    leaguesList[i].ListGames.Sort((a, b) => a.HomeTeam.Name.CompareTo(b.HomeTeam.Name));
                    while (j < leaguesList[i].ListGames.Count)
                    {
                        DateTime date   = new DateTime(1970, 1, 1).AddSeconds(leaguesList[i].ListGames[j].StartTime / 1000);
                        DateTime date_t = DateTime.UtcNow;
                        var      delta  = date_t.Subtract(date);
                        game_minuts = delta.Hours.ToString() + ":" + delta.Minutes.ToString(); // on begin match

                        DateTime date1        = new DateTime(1970, 1, 1).AddSeconds(leaguesList[i].ListGames[j].UpdatedDateTime / 1000);
                        DateTime date_t1      = DateTime.UtcNow;
                        var      delta1       = date_t.Subtract(date1);
                        string   game_minuts1 = delta1.Hours.ToString() + ":" + delta1.Minutes.ToString(); // on begin update info of match

                        string game_minuts2 = " ";                                                         // кодировка времени игры
                        if (leaguesList[i].ListGames[j].InGameinutes > 60 && leaguesList[i].ListGames[j].InGameinutes < 105)
                        {
                            game_minuts2 = "1H " + (leaguesList[i].ListGames[j].InGameinutes - 59).ToString() + "'";
                        }
                        if (leaguesList[i].ListGames[j].InGameinutes >= 1 && leaguesList[i].ListGames[j].InGameinutes < 15)
                        {
                            game_minuts2 = "HT ";
                        }
                        if (leaguesList[i].ListGames[j].InGameinutes == 60)
                        {
                            game_minuts2 = "Live ";
                        }
                        if (leaguesList[i].ListGames[j].InGameinutes >= 120 && leaguesList[i].ListGames[j].InGameinutes < 210)
                        {
                            game_minuts2 = "2H " + (leaguesList[i].ListGames[j].InGameinutes - 119).ToString() + "'";
                        }

                        if (leaguesList[i].ListGames[j].HomeTeam.Name != Home_Team)
                        {
                            k = 0;
                            result.Add(new MyTable(leaguesList[i].ListGames[j].HomeTeam.Score.ToString() + ":" + leaguesList[i].ListGames[j].AwayTeam.Score.ToString(), leaguesList[i].ListGames[j].HomeTeam.Name, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.BookieOdds, 1, 0), "", "", Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.BookieOdds, 1, 0), "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString())); //первая строка
                            result.Add(new MyTable(game_minuts2, leaguesList[i].ListGames[j].AwayTeam.Name, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.BookieOdds, 2, 0), "", "", Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.BookieOdds, 2, 0), "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString()));
                            result.Add(new MyTable("*", "Draw", WinX(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds), "", "", "", "", "", "", WinX(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds), "", "", "", "", "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString()));
                        }

                        else
                        {
                            result.Add(new MyTable(" ", " ", Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.BookieOdds, 1, 0), "", "", Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.BookieOdds, 1, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.BookieOdds, 1, 0), "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString())); //первая строка
                            result.Add(new MyTable(" ", " ", Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeHdp.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].FullTimeOu.BookieOdds, 2, 0), "", "", Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.Handicap, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeHdp.BookieOdds, 2, 0), leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.Goal, Win(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOu.BookieOdds, 2, 0), "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString()));
                            result.Add(new MyTable(" ", " ", WinX(leaguesList[i].ListGames[j].EventsList[k].FullTimeOneXTwo.BookieOdds), "", "", "", "", "", "", WinX(leaguesList[i].ListGames[j].EventsList[k].HalfTimeOneXTwo.BookieOdds), "", "", "", "", "", "", leaguesList[i].LeagueId.ToString(), leaguesList[i].ListGames[j].MatchId.ToString(), leaguesList[i].ListGames[j].EventsList[k].GameId.ToString(), date.ToString(), leaguesList[i].ListGames[j].isActive.ToString(), leaguesList[i].ListGames[j].WillBeRemoved.ToString()));
                        }
                        k++;
                        Home_Team = leaguesList[i].ListGames[j].HomeTeam.Name;
                        j++;
                    }
                }
                result.Add(new MyTable("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "")); // пустая строка - как конец
                leaguesList.Clear();
                string data = "";
                //          if (!File.Exists(path))   это проверяется ранее..но нужно для отладки
                {
                    using (StreamWriter sw = File.CreateText(path))
                    {
                        for (int fi = 0; fi < result.Count; fi++)
                        {
                            data = string.Join(",", result[fi]);
                            sw.WriteLine(data);
                        }
                    }
                }
            } catch (Exception e)
            {
                MessageBox.Show(e.Message + " В реале пока игр нет. ");
                var err = new BaseUp().ConBase();
                if (err == "")
                {
                    //   Base = new BaseUp().read_Base(Base, 3);
                    if (UCTable.Base != null)
                    {
                        err = new BaseUp().write_Base(UCTable.Base, UCTable.user_id, UCTable.credit);
                        if (err != "")
                        {
                            MessageBox.Show(err);
                        }
                    }
                }
                else
                {
                    MessageBox.Show(err);
                }
                Environment.Exit(0);
                return;
                // loginForm.loginForm_FormClosing(this, null);
            }
        }