public void AddLessonsToCourse_ReturnCorrectViewIfModelIsNotValid()
        {
            var mockModel = new AddLessonsViewModel();

            this.controller.ModelState.AddModelError(string.Empty, string.Empty);

            ViewResult result = this.controller.AddLessonsToCourse(mockModel) as ViewResult;

            Assert.AreEqual("AddLessonsToCourse", result.ViewName);
        }
        public void AddLessonsToCourse_ReturnCorrectViewIfDatesCoincides()
        {
            var courseMock = new CourseModel();
            var lessonMock = new LessonModel()
            {
                DateTime = new DateTime(2001, 01, 01)
            };
            var mockModel = new AddLessonsViewModel()
            {
                LessonModel = lessonMock, CourseModel = courseMock
            };

            ViewResult result = this.controller.AddLessonsToCourse(mockModel) as ViewResult;

            Assert.AreEqual("AddLessonsToCourse", result.ViewName);
        }
        public void AddLessonsToCourse_ReturnCorrectValueIfCourseIsDone()
        {
            var courseMock = new CourseModel()
            {
                IsDone = true
            };
            var lessonMock = new LessonModel()
            {
                DateTime = new DateTime()
            };
            var mockModel = new AddLessonsViewModel()
            {
                LessonModel = lessonMock, CourseModel = courseMock
            };

            RedirectToRouteResult result = this.controller.AddLessonsToCourse(mockModel) as RedirectToRouteResult;

            Assert.IsInstanceOf(typeof(RedirectToRouteResult), result);
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Пример #4
0
        public ActionResult CreateCourse(CourseModel courseModel)
        {
            if (!ModelState.IsValid)
            {
                return(this.View("CreateCourse"));
            }

            if (this.repository.CreateCourse(courseModel.Name))
            {
                var addLessonsViewModel = new AddLessonsViewModel()
                {
                    CourseModel = courseModel
                };

                return(this.View("AddLessonsToCourse", addLessonsViewModel));
            }

            ModelState.AddModelError(string.Empty, "Name's been used");

            return(this.View("CreateCourse"));
        }
Пример #5
0
        public ActionResult GetCourseFromXmlFile(HttpPostedFileBase xmlFile)
        {
            if (XmlValidator.IsXmlFile(xmlFile))
            {
                var courseModel = this.xmlProcessor.GetCourseModelFromXml(xmlFile.FileName);

                this.repository.CreateCourseFromCourseModel(courseModel);

                if (!courseModel.IsDone)
                {
                    var addLessonsViewModel = new AddLessonsViewModel()
                    {
                        CourseModel = courseModel
                    };

                    return(this.View("AddLessonsToCourse", addLessonsViewModel));
                }

                return(this.RedirectToAction("Index", "Home"));
            }

            return(this.View("Error"));
        }
Пример #6
0
        public ActionResult AddLessonsToCourse(AddLessonsViewModel addLessonsViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(this.View("AddLessonsToCourse", addLessonsViewModel));
            }

            var lessons = this.repository.GetAllLessons();

            foreach (var lesson in lessons)
            {
                if (lesson.DateTime == addLessonsViewModel.LessonModel.DateTime)
                {
                    ModelState.AddModelError(string.Empty, "Date and time has been used");
                    addLessonsViewModel.CourseModel = this.repository.GetCourseByName(addLessonsViewModel.CourseModel.Name);
                    return(this.View("AddLessonsToCourse", addLessonsViewModel));
                }
            }

            var lessonModel = new LessonModel()
            {
                Name     = addLessonsViewModel.LessonModel.Name,
                DateTime = addLessonsViewModel.LessonModel.DateTime
            };

            this.repository.AddLesson(addLessonsViewModel.CourseModel, lessonModel);

            if (addLessonsViewModel.CourseModel.IsDone)
            {
                return(this.RedirectToAction("Index", "Home"));
            }

            addLessonsViewModel.CourseModel = this.repository.GetCourseByName(addLessonsViewModel.CourseModel.Name);

            return(this.View("AddLessonsToCourse", addLessonsViewModel));
        }