public async Task <bool> SearchForMatch(int userId) { var userToMatch = await _userRepository.GetUserById(userId); var awaitingMatch = await GetAwaitingMatchToMatchWithUser(userToMatch); if (awaitingMatch == null) { return(false); } var isUserToMatchAndAwaitingMatchAlreadyMatched = await IsMatchUnique(userId, awaitingMatch.UserId); if (isUserToMatchAndAwaitingMatchAlreadyMatched) { return(false); } awaitingMatch.IsMatched = true; var userMatches = CreateUserMatches(userToMatch, awaitingMatch); var match = new Match { UserMatches = userMatches }; await _matchRepository.UpdateAwaitingMatch(awaitingMatch); await _matchRepository.AddMatch(match); return(true); }
public async Task <IActionResult> CreateMatch(AdministrationViewModel model) { await matchRepository.AddMatch(new Match { MatchDateTime = model.MatchDateTime, ClubHomeName = model.ClubHomeName, ClubAwayName = model.ClubAwayName, LeagueId = model.LeagueId }); return(await CreateViewModel()); }
public async Task<IActionResult> AddMatch(MatchResource matchResource) { if (!ModelState.IsValid) { var matchRes = new MatchResource(); matchRes.Date = DateTime.Now; matchRes.Teams = await teamRepository.GetTeams(); return View("Match", matchRes); } await matchRepository.AddMatch(matchResource); return RedirectToAction("Index", "Home"); }
public Task <Unit> Handle(AddMatchCommand command, CancellationToken cancellationToken) { if (!command.IsValid()) { NotifyValidationErrors(command); return(Unit.Task); } var user = new Match(command.UsuarioCurtiu, command.UsuarioCurtido); _matchRepository.AddMatch(user); if (Commit()) { // raise event } return(Unit.Task); }
public IActionResult AddMatch([FromBody] Match match) { _matchRepository.AddMatch(match); return(Ok(null)); }
public async Task CallWebApiAsunc(string webApiUrl, string accessToken, int teamId) { try { if (!string.IsNullOrEmpty(accessToken)) { HttpRequestHeaders defaultRequestHeaders = HttpClient.DefaultRequestHeaders; if (defaultRequestHeaders.Accept == null || !defaultRequestHeaders.Accept.Any(m => m.MediaType == "application/json")) { HttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); defaultRequestHeaders.Add("x-auth-token", accessToken); HttpClient.Timeout = TimeSpan.FromMinutes(15); } HttpResponseMessage response = await HttpClient.GetAsync(webApiUrl); if (response.IsSuccessStatusCode) { //удаляю записи из БД в которых TeamId равен обновляемому TeamId foreach (var match in _matchRepository.GetAllMatches().Where(m => m.TeamId == teamId)) { _matchRepository.RemoveMatch(match.Id); } string json = await response.Content.ReadAsStringAsync(); Games games = JsonSerializer.Deserialize <Games>(json); foreach (var game in games.matches) { string winner = ""; if (game.score.winner == "HOME_TEAM") { winner = game.homeTeam.name; } else if (game.score.winner == "AWAY_TEAM") { winner = game.awayTeam.name; } else { winner = game.score.winner; } _matchRepository.AddMatch(new Match { HomeTeam = game.homeTeam.name, AwayTeam = game.awayTeam.name, HomeTeamGoals = game.score.fullTime.homeTeam ?? default(int), AwayTeamGoals = game.score.fullTime.awayTeam ?? default(int), LocalDate = game.utcDate.ToLocalTime(), TeamWinner = winner, TeamId = teamId }); } } else { //здесь можно было бы еще выкидывать Exception, но я не стал заморачиваться... string jsonErr = await response.Content.ReadAsStringAsync(); Console.WriteLine($"Error: {response.StatusCode}"); Console.WriteLine(jsonErr); } } } catch (Exception ex) { throw; //Console.WriteLine($"Error: {ex.Message}"); } }