public async Task GetAllMatchForAWeek()
        {
            try
            {
                Console.WriteLine("     ----- Begin Fetch matches ----- ");
                var dateFrom = DateTime.Now.AddDays(-2);
                var dateTo   = DateTime.Now.AddDays(7);

                var response = await _http.GetAsync("matches?dateFrom=" + dateFrom.ToString("yyyy-MM-dd") + "&dateTo=" +
                                                    dateTo.ToString("yyyy-MM-dd"));

                var responseContent = await response.Content.ReadAsStringAsync();

                var json      = JObject.Parse(responseContent);
                var jsonMatch = json["matches"];
                var matches   = JsonConvert.DeserializeObject <List <Match> >(JsonConvert.SerializeObject(jsonMatch));

                foreach (var match in matches)
                {
                    var findMatch = _matchDao.FindMatch(match.Id).Result;
                    if (findMatch == null)
                    {
                        match.HomeTeamRating = 0;
                        match.AwayTeamRating = 0;
                        match.DrawRating     = 0;
                        Console.WriteLine("Add match " + match.Id);
                        _matchDao.AddMatch(match);
                    }
                    else
                    {
                        Console.WriteLine("Update match " + match.Id);
                        match.AwayTeamRating = findMatch.AwayTeamRating;
                        match.HomeTeamRating = findMatch.HomeTeamRating;
                        match.DrawRating     = findMatch.DrawRating;
                        _matchDao.UpdateMatch(findMatch.Id, match);
                        if (findMatch.Status == Match.ScheduledStatus && match.Status == Match.FinishedStatus)
                        {
                            _assignmentPointManager.AddPointToBet(match);
                        }
                    }
                }

                Console.WriteLine("     ----- End Fetch matches ----- ");
            }
            catch (Exception e)
            {
                SingletonManager.Instance.EmailManager.SendWebMasterEmail(e);
                throw;
            }
        }
Exemplo n.º 2
0
 public void AddMatchTest()
 {
     _matchDao.AddMatch(_match);
     _collection.Received().InsertOneAsync(Arg.Any <Match>());
 }