public IActionResult CreateSubgroup(int groupId, [FromBody] SubgroupForCreationDto subgroupDto) { if (subgroupDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!_registrationRepository.GroupExists(groupId)) { return(NotFound()); } var subgroupEntity = Mapper.Map <Entities.Subgroup>(subgroupDto); _registrationRepository.AddSubgroup(groupId, subgroupEntity); if (!_registrationRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request.")); } var createdSubgroupToReturn = Mapper.Map <SubgroupDto>(subgroupEntity); return(CreatedAtRoute("GetSubgroup", new { id = createdSubgroupToReturn.Id }, createdSubgroupToReturn)); }