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"); }