public async Task <IHttpActionResult> CreateCandidateTask([FromBody] TaskInfo candidateTaskInfo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { int createdTaskId = await _exerciseService.AddCandidateTaskAsync(candidateTaskInfo); var actionLink = Url.Link(nameof(GetCandidateTaskInfo), new { id = createdTaskId }); return(Created(actionLink, new { Id = createdTaskId })); } catch (TestClassInfoNotFoundException) { return(BadRequest($"Invalid {nameof(TaskInfo.TestClassName)}")); } catch (Exception) { return(InternalServerError()); } }