Exemple #1
0
        public async Task <IActionResult> AgreeInvite(int id)
        {
            var userId = int.Parse(User.GetName());
            var invite = await _inviteRepository.GetInvite(id);

            if (invite == null)
            {
                return(BadRequest(new { message = "Попытка согласиться на задачу, для которой нет приглашения." }));
            }

            if (invite.IdPerformer != userId)
            {
                return(BadRequest(new { message = "Попытка согласиться на задачу для другого исполнителя." }));
            }

            var task = await _taskRepository.GetTask(id);

            task.IdPerformer = userId;
            await _taskRepository.UpdateTask(task);

            await _inviteRepository.DeleteInvite(invite);

            return(Ok());
        }