public async Task <OperationDetailDTO> UpdateRepositoryAsync(RepositoryCreateModelDTO dto)
        {
            var detail = new OperationDetailDTO();

            if (dto != null)
            {
                var repoEntity = await _context.RepositoryModels
                                 .FindAsync(dto.Id);

                if (repoEntity == null)
                {
                    detail.ErrorMessages.Add("Репозиторий не найден.");
                    return(detail);
                }

                repoEntity.ContentText = dto.ContentText;
                repoEntity.Name        = dto.Name;

                _context.RepositoryModels.Update(repoEntity);
                await _context.SaveChangesAsync();

                detail.Succeeded = true;
            }
            else
            {
                detail.ErrorMessages.Add("Объекта параметра репозитория был равен null");
            }

            return(detail);
        }
        // test
        // add try - catch
        public async Task <OperationDetailDTO <string> > CreateNewRepositoryAsync(RepositoryCreateModelDTO dto = null)
        {
            var detail = new OperationDetailDTO <string>();

            if (dto != null)
            {
                var currentUserEntity = await GetUserFromClaimsAsync();

                var teacherEntity = await _context.Teachers
                                    .Where(t => t.UserId == currentUserEntity.Id)
                                    .FirstOrDefaultAsync();

                var subject = await _context.Subjects.FindAsync(dto.SubjectId);

                if (subject != null)
                {
                    var repositoryEntity = RepositoryCreateModelDTO.Map(dto);
                    repositoryEntity.Teacher = teacherEntity;
                    repositoryEntity.Subject = subject;
                    await _context.RepositoryModels.AddAsync(repositoryEntity);

                    await _context.SaveChangesAsync();

                    var createdRepo = await _context.RepositoryModels.FirstOrDefaultAsync(r => r == repositoryEntity); // by id ?

                    if (createdRepo != null)
                    {
                        detail.Data      = createdRepo.Id.ToString();
                        detail.Succeeded = true;
                    }
                    else
                    {
                        detail.ErrorMessages.Add("Не удалось получить созданный репозиторий");
                    }
                }
                else
                {
                    detail.ErrorMessages.Add("Параметр учебного предмета создаваемого репозитория был равен NULL");
                }

                return(detail);
            }

            else
            {
                detail.ErrorMessages.Add("Входные данные создаваемого репозитория равны NULL");
                return(detail);
            }
        }
        public async Task <IActionResult> UpdateRepoAsync([FromBody] RepositoryCreateModelDTO dto)
        {
            var res = await _teacherService.UpdateRepositoryAsync(dto);

            return(Ok(res));
        }