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));
        }