public IActionResult CreateSegment(SegmentInputModel inputModel)
        {
            var viewModel = new SegmentInputModel
            {
                LessonId           = inputModel.LessonId,
                PlaceInLessonOrder = inputModel.PlaceInLessonOrder + 1,
                CourseId           = inputModel.CourseId,
            };

            return(this.View(viewModel));
        }
        public async Task <IActionResult> CreateLesson(LessonInputModel inputModel)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(inputModel));
            }

            var lesson = await this.lessonsService.CreateLessonAsync(inputModel.Name, inputModel.Description, inputModel.CourseId);

            var viewModel = new SegmentInputModel
            {
                LessonId           = lesson.Id,
                PlaceInLessonOrder = inputModel.PlaceInOrder,
                CourseId           = inputModel.CourseId,
            };

            return(this.RedirectToAction("CreateSegment", "Segments", viewModel));
        }
        public async Task <IActionResult> CreateSegment(SegmentInputModel inputModel, string submitType)
        {
            if (!this.ModelState.IsValid)
            {
                return(this.View(inputModel));
            }

            if (inputModel.Discriminator == "ContentSegment" && inputModel.Content != null)
            {
                var sources = Regex.Matches(inputModel.Content, "data:[^ ]* \\/>");
                foreach (var source in sources)
                {
                    var fix = source.ToString();
                    fix = fix.TrimStart('\\').TrimEnd('>').TrimEnd('/').TrimEnd(' ').TrimEnd('\"').Trim();

                    var result = this.UploadImage(fix);
                    inputModel.Content = inputModel.Content.Replace(fix, result);
                }
            }

            await this.segmentsService.CreateSegmentAsync(inputModel.Content, inputModel.LessonId, inputModel.Question, inputModel.CorrectAnswer, inputModel.WrongAnswer1, inputModel.WrongAnswer2, inputModel.WrongAnswer3, inputModel.PlaceInLessonOrder, inputModel.Discriminator);

            if (submitType == "another")
            {
                var viewModel = new SegmentInputModel
                {
                    LessonId           = inputModel.LessonId,
                    PlaceInLessonOrder = inputModel.PlaceInLessonOrder,
                    CourseId           = inputModel.CourseId,
                };

                return(this.RedirectToAction("CreateSegment", viewModel));
            }
            else if (submitType == "finishLesson")
            {
                return(this.RedirectToAction("CreateLesson", "Lessons", new { inputModel.CourseId }));
            }
            else
            {
                return(this.RedirectToAction("CreatedCourses", "Courses"));
            }
        }