public async Task <Result <UpdateStudentsForStudentGroup> > UpdateStudentsForStudentGroupAsync(long id, UpdateStudentsForStudentGroup studentGroupModel)
        {
            try
            {
                if (studentGroupModel == null)
                {
                    return(Result <UpdateStudentsForStudentGroup> .Error(ErrorCode.ValidationError, "UpdateStudentGroupDto is null"));
                }

                var updatedEntity = _mapper.Map <StudentGroup>(studentGroupModel);

                var foundStudentGroup = await _unitOfWork.StudentGroupRepository.GetByIdAsync(id);

                if (foundStudentGroup == null)
                {
                    return(null);
                }

                var newStudentsOfStudentGroup = updatedEntity.StudentsOfStudentGroups.Select(x => new StudentOfStudentGroup
                {
                    StudentGroupId = foundStudentGroup.Id,
                    StudentId      = x.StudentId
                }).ToList();

                _unitOfWork.StudentGroupRepository.UpdateManyToMany(foundStudentGroup.StudentsOfStudentGroups, newStudentsOfStudentGroup);

                await _unitOfWork.CommitAsync();

                return(Result <UpdateStudentsForStudentGroup> .Success(_mapper.Map <UpdateStudentsForStudentGroup>(updatedEntity)));
            }
            catch
            {
                _unitOfWork.Rollback();

                return(Result <UpdateStudentsForStudentGroup> .Error(ErrorCode.InternalServerError, "Internal error"));
            }
        }
        public async Task <ActionResult <UpdateStudentsForStudentGroup> > PutStudentsOfStudentGroup(long id, UpdateStudentsForStudentGroup studentGroupDto)
        {
            var updatedStudentGroup = await _studentGroupService
                                      .UpdateStudentsForStudentGroupAsync(id, studentGroupDto);

            return(updatedStudentGroup.ToActionResult());
        }