Пример #1
0
        public async Task <Contest> CreateContestAsync(Guid userId, CreateOrUpdateContestRequest request)
        {
            var contest = _mapper.Map <Contest>(request);

            contest.UserId = userId;

            return(await _contests.AddAsync(contest));
        }
Пример #2
0
        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());
        }
Пример #3
0
        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());
        }
Пример #4
0
        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));
        }