public async Task <IActionResult> InsertTeam(int leagueId, [FromBody] AddTeamBindingModel model) { var result = await _teamService.InsertTeamAsync(leagueId, model); if (result.ErrorOccurred) { return(BadRequest(result)); } return(Ok(result)); }
public async Task <ResponseDto <BaseModelDto> > InsertTeamAsync(int leagueId, AddTeamBindingModel model) { var response = new ResponseDto <BaseModelDto>(); var league = _leagueRepository.GetById(leagueId); if (league == null) { response.Errors.Add(ServiceErrors.LEAGUE_DOESNT_EXIST); return(response); } var teamsQuantity = league.Teams.Count; if (teamsQuantity >= league.Quantity) { response.Errors.Add(ServiceErrors.TEAM_THER_IS_ENOUGH_TEAMS_IN_THAT_LEAGUE); return(response); } var teams = _teamRepository.GetAll().ToList(); var exists = teams.Exists(t => t.Name == model.Name); if (exists) { response.Errors.Add(ServiceErrors.TEAM_WITH_THAT_NAME_ALREADY_EXISTS); return(response); } var team = new Team { League = league, Name = model.Name }; await _teamRepository.InsertAsync(team); return(response); }