public async Task <SuccessResponse> CreateAsync(CourseEnrollCreateRequest request)
        {
            var courseEnroll = new CourseStudent()
            {
                CourseId  = request.CourseId,
                StudentId = request.StudentId
            };

            var alreadyExists = await _unitOfWork.CourseEnrollRepository.GetAAsynce(x =>
                                                                                    x.CourseId == request.CourseId &&
                                                                                    x.StudentId == request.StudentId);

            if (alreadyExists != null)
            {
                throw new MyAppException("hello student you are already exists in this course.");
            }
            await _unitOfWork.CourseEnrollRepository.CreateAsync(courseEnroll);

            if (await _unitOfWork.ApplicationSaveChangesAsync())
            {
                return(new SuccessResponse()
                {
                    StatusCode = 200,
                    Message = "The course enrolls has been successfully done."
                });
            }

            throw new MyAppException("Something went wrong!");
        }
        public async Task <ApiSuccessResponse> CreateAsync(CourseEnrollCreateRequest request)
        {
            var courseEnroll = new CourseStudent()
            {
                CourseId  = request.CourseId,
                StudentId = request.StudentId
            };

            var alreadyCourseEnrollOrNot = await _unitOfWork.CourseEnrollRepository.FindSingleAsync(x =>
                                                                                                    x.CourseId == request.CourseId && x.StudentId == request.StudentId);

            if (alreadyCourseEnrollOrNot != null)
            {
                throw new MyAppException("The given student id already enrolled by this course.");
            }

            await _unitOfWork.CourseEnrollRepository.CreateAsync(courseEnroll);

            if (await _unitOfWork.AppSaveChangesAsync())
            {
                return(new ApiSuccessResponse()
                {
                    StatusCode = 200,
                    Message = "The course enrolls has been successfully done."
                });
            }

            throw new MyAppException("Something went wrong!");
        }
 //   [Authorize(Roles = "teacher, staff", Policy = "AtToken")]
 public async Task <IActionResult> Create(CourseEnrollCreateRequest request)
 {
     return(Ok(await _courseEnrollService.CreateAsync(request)));
 }