Exemple #1
0
 public static DomesticLeague FromRequest(PostLeagueRequest postLeagueRequest)
 {
     return(new DomesticLeague
     {
         Name = postLeagueRequest.LeagueName,
         Country = postLeagueRequest.Country
     });
 }
        public async Task <ActionResult> PostLeague(PostLeagueRequest postLeagueRequest)
        {
            try
            {
                var result = await _leagueService.AddAsync(postLeagueRequest);

                return(Created(result.url, result.createdDto));
            }
            catch (ArgumentException aEx)
            {
                return(BadRequest(aEx.Message));
            }
        }
Exemple #3
0
        public async Task <(string, LeagueDTO)> AddAsync(PostLeagueRequest postLeagueRequest)
        {
            var leagueEntity           = DomesticLeague.FromRequest(postLeagueRequest);
            var initialTeamsAsRequests = (postLeagueRequest.InitialTeams ?? Enumerable.Empty <string>())
                                         .Select(it => new PostTeamRequest
            {
                LeagueName = postLeagueRequest.LeagueName,
                Name       = it
            });

            leagueEntity.Teams = new List <Team>();
            foreach (var postTeamRequest in initialTeamsAsRequests)
            {
                var newTeam = Team.FromRequest(postTeamRequest);
                leagueEntity.Teams.Add(newTeam);
            }

            _dbContext.Leagues.Add(leagueEntity);
            await _dbContext.SaveChangesAsync();

            return("todo: generate URL", leagueEntity.ToDto());
        }