public async Task <IActionResult> CreateTeam([FromBody] TeamToCreateDto teamToCreateDto) { if (await _repository.TeamExists(teamToCreateDto.Name)) { return(BadRequest("Team name exists")); } var teamToCreate = _mapper.Map <Team>(teamToCreateDto); _repository.Add <Team>(teamToCreate); if (await _repository.SaveAllChangesAsync()) { var teamToReturn = _mapper.Map <TeamToReturnDto>(teamToCreate); return(CreatedAtRoute("GetTeam", new { id = teamToReturn.Id }, teamToReturn)); } return(BadRequest("An Error occurred while creating Team")); }
public async Task <IActionResult> EditTeam(int id, [FromBody] TeamToCreateDto teamToEditDto) { var teamFromRepo = await _repository.GetTeam(id); if (teamFromRepo == null) { return(BadRequest("Team does not exist")); } var teamToUpdate = _mapper.Map <TeamToCreateDto, Team>(teamToEditDto, teamFromRepo); _repository.Update <Team>(teamToUpdate); if (await _repository.SaveAllChangesAsync()) { var teamToReturn = _mapper.Map <TeamToReturnDto>(teamToUpdate); return(NoContent()); } throw new Exception($"Error Editing team with id {id}"); }