public async Task <ServiceResponse <List <GetCourseDTO> > > AddCourse(AddCourseDTO newCourse)
        {
            ServiceResponse <List <GetCourseDTO> > serviceResponse = new ServiceResponse <List <GetCourseDTO> >();

            Course course = _mapper.Map <Course>(newCourse);

            await _context.Courses.AddAsync(course);

            await _context.SaveChangesAsync();

            serviceResponse.Data    = (_context.Courses.Select(c => _mapper.Map <GetCourseDTO>(c))).ToList();
            serviceResponse.Message = "New course successfully added";
            return(serviceResponse);
        }
        public HttpResponseMessage AddCategory(AddCourseDTO course)
        {
            var newCourse = new Course()
            {
                Name = course.Name,
                Path = course.Path
            };

            dbContext.Courses.Add(newCourse);
            dbContext.SaveChanges();

            foreach (var id in course.CategoriesIds)
            {
                var category = dbContext.Categories.Where(c => c.Id == id).FirstOrDefault();

                if (category != null)
                {
                    newCourse.Categories.Add(category);
                }
            }

            dbContext.SaveChanges();

            foreach (var stage in course.Stages)
            {
                newCourse.Stages.Add(new Stage
                {
                    CourseId    = newCourse.Id,
                    Name        = stage.Name,
                    HtmlContent = stage.HtmlContent,
                    Nr          = stage.Nr
                });
            }

            dbContext.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
 public async Task <IActionResult> AddCourse(AddCourseDTO newCourse)
 {
     return(Ok(await _courseService.AddCourse(newCourse)));
 }