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)); } }
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()); }