public async Task <IActionResult> CreateCourse(CourseForCreateDto courseForCreateDto)
        {
            courseForCreateDto.Name = courseForCreateDto.Name.ToLower();
            if (await _repo.CourseExist(courseForCreateDto.Name))
            {
                return(BadRequest("This Course alreaady exist, you can edit it to reflect new updates"));
            }
            var courseToCreate = _mapper.Map <Course>(courseForCreateDto);

            _repo.Add(courseToCreate);
            if (await _repo.SaveAll())
            {
                return(CreatedAtAction("GetCourse", new { id = courseToCreate.Id }, courseToCreate));
            }
            throw new Exception($"creating course {courseToCreate.Name} failed on save");
        }