public async Task <Contest> CreateContestAsync(Guid userId, CreateOrUpdateContestRequest request) { var contest = _mapper.Map <Contest>(request); contest.UserId = userId; return(await _contests.AddAsync(contest)); }
public async Task <IActionResult> UpdateContest([FromRoute] Guid id, [FromBody] CreateOrUpdateContestRequest request) { Guid.TryParse(User.FindFirst("id")?.Value, out var userId); var updatedContest = await _contestService.UpdateContestAsync(id, userId, request); if (updatedContest != null) { return(Ok(_mapper.Map <ContestShortResponse>(updatedContest))); } return(NotFound()); }
public async Task <IActionResult> CreateContest([FromBody] CreateOrUpdateContestRequest request) { Guid.TryParse(User.FindFirst("id")?.Value, out var userId); var createdContest = await _contestService.CreateContestAsync(userId, request); if (createdContest != null) { return(Created(ApiHelper.GetResourceUri(HttpContext.Request, ApiRoutes.Contest.Get, createdContest.Id), _mapper.Map <ContestShortResponse>(createdContest))); } return(BadRequest()); }
public async Task <Contest> UpdateContestAsync(Guid id, Guid userId, CreateOrUpdateContestRequest request) { var contest = await _contests.GetAsync(id); if (contest == null) { return(null); } if (!await UserIsOwner(userId, contest.UserId)) { return(null); } contest.Update(_mapper.Map <Contest>(request)); return(await _contests.UpdateAsync(contest)); }