public override async Task <int> CreateAsync(DetailDto model, Func <DetailDto, Detail> converter)
        {
            var groupSubjectId = (await _groupSubjectRepository.FilterAsync(x => x.GroupId == model.Group.Id && x.SubjectId == model.Subject.Id)).FirstOrDefault()?.Id;

            if (!groupSubjectId.HasValue)
            {
                throw new NullReferenceException(nameof(GroupSubject));
            }

            var entity = converter?.Invoke(model);

            entity.GroupSubjectId = groupSubjectId.Value;

            return(await _repository.CreateAsync(entity));
        }