public async Task <ActionResult <TournamentDetailModel> > Put(int id, TournamentDetailModel model) { try { var oldTournament = await _repository.GetTournamentById(id); if (oldTournament == null) { return(NotFound("Tournament does not exists!")); } oldTournament.Location = model.Location; oldTournament.Prize = model.Prize; oldTournament.Entry = model.Entry; oldTournament.Capacity = model.Capacity; oldTournament.Type = model.Type; oldTournament.Organizer = model.Organizer; oldTournament.Referee = model.Referee; oldTournament.Sponsors = model.Sponsors; oldTournament.Info = model.Info; oldTournament.Date = model.Date; oldTournament.Time = model.Time; if (await _repository.SaveChangesAsync()) { return(_mapper.Map <TournamentDetailModel>(oldTournament)); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure!")); } return(BadRequest()); }
public async Task <ActionResult <TournamentDetailModel[]> > Post(TournamentDetailModel model) { try { var location = _linkGenerator.GetPathByAction( "Get", "Tournaments", new { name = model.Name }); var tournament = _mapper.Map <Tournament>(model); _repository.Add(tournament); if (await _repository.SaveChangesAsync()) { return(Created(location, _mapper.Map <TournamentDetailModel>(tournament))); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure!")); } return(BadRequest()); }