public async Task <IActionResult> EditFixture(int teamId, int fixtureId, [FromBody] FixtureToCreate fixtureToEditDto) { var teamFromRepo = await _repository.GetTeam(teamId); if (teamFromRepo == null) { return(BadRequest("Team does not exist")); } var fixtureFromRepo = await _repository.GetFixture(fixtureId); if (fixtureFromRepo == null) { return(BadRequest($"Fixture with id {fixtureId} does not exist")); } var fixtureToUpdate = _mapper.Map <FixtureToCreate, Fixture>(fixtureToEditDto, fixtureFromRepo); _repository.Update <Fixture>(fixtureToUpdate); if (await _repository.SaveAllChangesAsync()) { var fixtureToReturn = _mapper.Map <FixtureToReturn>(fixtureToUpdate); return(NoContent()); } throw new Exception($"Error Editing fixture with id {teamId}"); }
public async Task <IActionResult> CreateTeamFixture(int teamId, [FromBody] FixtureToCreate fixtureToCreateDto) { fixtureToCreateDto.TeamId = teamId; var teamFromRepo = await _repository.GetTeam(teamId); if (teamFromRepo == null) { return(BadRequest("Team does not exist")); } var fixtureToCreate = _mapper.Map <Fixture>(fixtureToCreateDto); _repository.Add <Fixture>(fixtureToCreate); if (await _repository.SaveAllChangesAsync()) { var fixtureToReturn = _mapper.Map <TeamToReturnDto>(fixtureToCreate); return(CreatedAtRoute("GetFixture", new { id = fixtureToReturn.Id }, fixtureToReturn)); } return(BadRequest("An Error occurred while creating the fixture")); }