コード例 #1
0
        private void CreateMatchPlayed(OrganizeMatchDto organizeMatchDto, Matchday matchday, out Team homeTeam, out Team awayTeam, out MatchPlayed matchPlayed)
        {
            homeTeam = new Team()
            {
                Name     = organizeMatchDto.HomeTeamName,
                Matchday = matchday
            };
            awayTeam = new Team()
            {
                Name     = organizeMatchDto.AwayTeamName,
                Matchday = matchday
            };
            DataContext.Teams.Add(homeTeam);
            DataContext.Teams.Add(awayTeam);

            DataContext.SaveChanges();

            matchPlayed = new MatchPlayed()
            {
                HomeGoals  = organizeMatchDto.HomeGoals,
                AwayGoals  = organizeMatchDto.AwayGoals,
                DatePlayed = matchday.DatePlaying,
                Home       = homeTeam,
                Away       = awayTeam,
            };

            DataContext.MatchPlayeds.Add(matchPlayed);

            DataContext.SaveChanges();
        }
コード例 #2
0
        private void AddAwayTeamPlayers(OrganizeMatchDto organizeMatchDto, Team awayTeam, MatchPlayed matchPlayed)
        {
            foreach (var player in organizeMatchDto.AwayTeamMembers)
            {
                var teamMember = new TeamMember()
                {
                    Position = player.Position ?? Position.UKNWN,
                    Team     = awayTeam,
                    UserId   = player.UserId,
                };

                var teamMemberStatistics = new TeamMemberStatistic()
                {
                    Goals         = player.Statistics.Goals,
                    Assists       = player.Statistics.Assists,
                    MinutesPlayed = player.Statistics.MinutesPlayed,
                    Rating        = player.Statistics.Rating,
                    Team          = awayTeam,
                    MatchPlayed   = matchPlayed,
                };


                DataContext.TeamMembers.Add(teamMember);
                DataContext.SaveChanges();

                teamMemberStatistics.TeamMember = teamMember;
                DataContext.TeamMemberStatistics.Add(teamMemberStatistics);
                DataContext.SaveChanges();

                teamMember.TeamMemberStatistics = teamMemberStatistics;
                DataContext.SaveChanges();
            }
        }
コード例 #3
0
        public async Task <KeyValuePair <bool, string> > OrganizeMatchPlayed(OrganizeMatchDto organizeMatchDto)
        {
            var matchday = await DataContext.Matchdays.FirstOrDefaultAsync(x => x.Id == organizeMatchDto.MatchdayId);

            if (matchday == null)
            {
                return(new KeyValuePair <bool, string>(false, "Matchday with specified id doesn't exist"));
            }

            if (matchday.DatePlaying >= DateTime.Now)
            {
                return(new KeyValuePair <bool, string>(false, "Matchday has not passed, so you are not able to add result"));
            }

            Team        homeTeam, awayTeam;
            MatchPlayed matchPlayed;

            CreateMatchPlayed(organizeMatchDto, matchday, out homeTeam, out awayTeam, out matchPlayed);

            AddHomeTeamPlayers(organizeMatchDto, homeTeam, matchPlayed);
            AddAwayTeamPlayers(organizeMatchDto, awayTeam, matchPlayed);

            return(new KeyValuePair <bool, string>(true, "Match played successfully created"));
        }
コード例 #4
0
 public async Task <KeyValuePair <bool, string> > OrganizeMatch(OrganizeMatchDto organizeMatchDto)
 {
     return(await _unitOfWork.Matchdays.OrganizeMatchPlayed(organizeMatchDto));
 }
コード例 #5
0
 public async Task <IActionResult> OrganizeMatch(OrganizeMatchDto organizeMatchDto)
 {
     return(Ok(await _matchesService.OrganizeMatch(organizeMatchDto)));
 }