Example #1
0
        public async Task KickOff(Guid sessionId)
        {
            var session = _matchmakingService.GetSession(sessionId);

            var match = new Models.Match.Match
            {
                Id = sessionId, HomeTeam = new TeamDetails {
                    UserId = session.HostPlayerId
                }
            };

            match.HomeTeam.Squad = BuildSquad(await _bus.RequestAsync <GetSquadRequest, GetSquadResponse>(new GetSquadRequest(match.HomeTeam.UserId)));

            match.AwayTeam = new TeamDetails
            {
                UserId = session.JoinedPlayerId.Value
            };
            match.AwayTeam.Squad = BuildSquad(await _bus.RequestAsync <GetSquadRequest, GetSquadResponse>(new GetSquadRequest(match.AwayTeam.UserId)));

            match.KickOff = DateTime.Now;

            var simulatedMatch = _matchEngine.Simulate(match);

            await _matchRepository.CreateAsync(simulatedMatch);
        }
Example #2
0
        public Task CreateAsync(MatchRequestModel model)
        {
            var match = new Match {
                Name = model.Name, Status = model.Status, TeamMatches = model.TeamMatches.ToList()
            };

            return(matchRepository.CreateAsync(match));
        }
        public async Task <IActionResult> CreateMatch(Match model)
        {//Todo: you need to revalidate than the user than is creating be owner
            if (this.ModelState.IsValid)
            {
                model.Id       = 0;
                model.StatusId = 1;
                await _matchRepository.CreateAsync(model);

                return(this.RedirectToAction(nameof(Details), new { id = model.GroupId }));
            }

            return(this.View(model));
        }
Example #4
0
        public async Task <IActionResult> Post([FromBody] Match match)
        {
            try
            {
                await matchRepository.CreateAsync(match);

                await matchRepository.SaveAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok("Match created succesfully"));
        }
Example #5
0
        public async Task <IActionResult> Post([FromBody] Match item)
        {
            if (item == null)
            {
                return(StatusCode(422, "Відсутні данні."));
            }
            //if (string.IsNullOrEmpty(item.Name)) return StatusCode(422, "Відсутня назва.");

            var result = await _matchRepository.CreateAsync(item);

            if (result.Result == OperationResult.Ok)
            {
                return(StatusCode(201, result.Value));
            }
            return(StatusCode(422, result.Message));
        }