public static Team FromRequest(PostTeamRequest postTeamRequest) { return(new Team { Id = GetIdFromNameAndLeague(postTeamRequest.Name, postTeamRequest.LeagueName), Name = postTeamRequest.Name, DomesticLeagueName = postTeamRequest.LeagueName }); }
public async Task <ActionResult> PostTeam(PostTeamRequest postTeamRequest) { try { var result = await _teamService.AddAsync(postTeamRequest); return(Created(result.url, result.createdDto)); } catch (ArgumentException aEx) { return(BadRequest(aEx.Message)); } }
public async Task <(string, TeamDTO)> AddAsync(PostTeamRequest postTeamRequest) { var toAddEntity = Team.FromRequest(postTeamRequest); bool alreadyExists = (await _dbContext.Teams.FindAsync(toAddEntity.Id)) != null; if (alreadyExists) { throw new ArgumentException($"Team with name {toAddEntity.Name} in league {toAddEntity.DomesticLeagueName} already exists"); } _dbContext.Teams.Add(toAddEntity); await _dbContext.SaveChangesAsync(); return("todo: generate URL", toAddEntity.ToDto()); }