Пример #1
0
        public IActionResult _Index(int ID)
        {
            Dictionary <int, IEnumerable <CourseLessons> > lessonVMs = new Dictionary <int, IEnumerable <CourseLessons> >();
            var lstChapter = _chapterService.GetCondition(m => m.CourseId == ID)
                             .Select(m => new
            {
                m.Id,
                m.NameChapter,
                m.CourseId,
                m.OrderChapter
            })
                             .OrderBy(m => m.OrderChapter);

            foreach (var item in lstChapter)
            {
                var lstLesson = _courseLessonService.GetCondition(m => m.ChapterId == item.Id)
                                .Select(m => new CourseLessons
                {
                    Id        = m.Id,
                    Name      = m.Name,
                    ChapterId = m.ChapterId,
                    SortOrder = m.SortOrder
                })
                                .OrderBy(m => m.SortOrder);
                lessonVMs.Add(item.Id, lstLesson);
            }

            return(Json(new { status = true, lstChapter = lstChapter, lessonVMs = lessonVMs }));
        }
Пример #2
0
        public async Task <IActionResult> Detail(CourseLessonVM vm)
        {
            var idCourse = _chapterService.GetCondition(m => m.Id == vm.ChapterId).Select(m => m.CourseId).FirstOrDefault();

            if (ModelState.IsValid)
            {
                try
                {
                    if (vm.Video != null)
                    {
                        string nameVideo  = Path.GetFileName(vm.Video.FileName);
                        string pathUpload = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\resource\videos\" + idCourse);
                        string savePath   = Path.Combine(pathUpload, nameVideo);
                        string saveDBPath = Path.Combine(@"\resource\videos\" + idCourse, nameVideo);
                        if (!Directory.Exists(pathUpload))
                        {
                            Directory.CreateDirectory(pathUpload);
                        }
                        using (var stream = new FileStream(savePath, FileMode.Create))
                        {
                            await vm.Video.CopyToAsync(stream);
                        }
                        vm.VideoPath = saveDBPath;
                    }
                    if (vm.Slide != null)
                    {
                        string nameVideo  = Path.GetFileName(vm.Slide.FileName);
                        string pathUpload = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\resource\slides\" + idCourse);
                        string savePath   = Path.Combine(pathUpload, nameVideo);
                        string saveDBPath = Path.Combine(@"\resource\slides\" + idCourse, nameVideo);
                        if (!Directory.Exists(pathUpload))
                        {
                            Directory.CreateDirectory(pathUpload);
                        }
                        using (var stream = new FileStream(savePath, FileMode.Create))
                        {
                            await vm.Slide.CopyToAsync(stream);
                        }
                        vm.SlidePath = saveDBPath;
                    }
                    if (vm.Id == 0)
                    {
                        vm.Status = false;
                        var model = _mapper.Map <CourseLessons>(vm);
                        await _courseLessonService.CreateAsync(model);

                        return(RedirectToAction("Detail", new { ID = idCourse }));
                    }
                    else
                    {
                        vm.Status = false;
                        var model = _mapper.Map <CourseLessons>(vm);
                        await _courseLessonService.UpdateAsync(model);

                        return(RedirectToAction("Detail", new { ID = idCourse }));
                    }
                }
                catch (Exception)
                {
                    return(RedirectToAction("Detail", new { ID = idCourse }));
                }
            }

            return(RedirectToAction("Detail", new { ID = idCourse }));
        }