Exemple #1
0
        // GET: Lessons/Details/5
        public async Task <ActionResult> Details(Guid?id, string languageFilter)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Lesson lesson = await db.Lessons.FindAsync(id);

            if (lesson == null)
            {
                return(HttpNotFound());
            }
            MethodHelpers     methodHelpers = new MethodHelpers();
            TutorialViewModel viewModel     = new TutorialViewModel();

            viewModel.LessionID  = lesson.LessionID;
            viewModel.LessonName = lesson.LessonName;
            viewModel.IssueDate  = lesson.IssueDate;
            viewModel.Subject    = lesson.Subject;
            List <File> files = await db.Files.Where(d => d.LessionID == lesson.LessionID).ToListAsync();

            ViewBag.VideoContent = false;
            ViewBag.IsTranscript = false;
            foreach (var item in files)
            {
                if (item.FileType == "Video")
                {
                    if (languageFilter != null && item.ContentDetails != null)
                    {
                        item.ContentDetails = await methodHelpers.TranslateContent(item.ContentDetails, languageFilter);
                    }
                    ViewBag.VideoContent = true;
                    if (!string.IsNullOrEmpty(item.ContentDetails))
                    {
                        ViewBag.IsTranscript = true;
                    }
                }
            }

            viewModel.Files = files;
            Dictionary <string, string> languageList = methodHelpers.GetSupportedLangs();
            SelectList langs = new SelectList(languageList.Select(x => new { Value = x.Key, Text = x.Value }), "Value", "Text");

            ViewBag.languageFilter = langs;
            ViewBag.LessionID      = id;
            return(View(viewModel));
        }