예제 #1
0
        public ActionResult UpdateCourse(CreateOrEditCourseViewModel updatedCourse)
        {
            if (ModelState.IsValid)
            {
                var domainModel = ConvertToDomainModel(updatedCourse);

                var updatedModel = Courses.UpdateCourse(domainModel);

                if (ReferenceEquals(updatedModel.GetType(), typeof(ErrorDomainModel)))
                {
                    return(GradeTrackerError(updatedModel, updatedCourse));
                }
                else
                {
                    var castedDomainModel = (CourseDomainModel)updatedModel;
                    var viewModel         = new CourseViewModel((CourseDomainModel)updatedModel);
                    var semesterViewModel = Semesters.GetSemester(castedDomainModel.SemesterId);
                    viewModel.Semester = GetSemesterViewModel(semesterViewModel);

                    return(View("CourseUpdated", viewModel));
                }
            }
            else
            {
                return(View("UpdateCourse", updatedCourse));
            }
        }
예제 #2
0
        public ActionResult Create(CreateOrEditCourseViewModel createViewModel)
        {
            if (ModelState.IsValid)
            {
                var userId = User.Identity.GetUserId();

                var createModel = ConvertToDomainModel(createViewModel);

                createModel.StudentId = Guid.Parse(userId);

                var domainIModel = Courses.CreateCourse(createModel);
                var domainModel  = new CourseDomainModel();

                if (domainIModel.GetType() == typeof(ErrorDomainModel))
                {
                    var semesterModels = Semesters.GetAllSemesters();

                    if (semesterModels.Count > 0 && semesterModels.First().GetType() == typeof(ErrorDomainModel))
                    {
                        return(GradeTrackerError(semesterModels.First(), null));
                    }

                    createViewModel.Semesters   = GetSemestersForDropDown(semesterModels);
                    createViewModel.YearOptions = GetYearDropDownOptions();

                    return(GradeTrackerError(domainIModel, createViewModel));
                }
                else
                {
                    domainModel = (CourseDomainModel)domainIModel;
                }

                var newCourseViewModel = new CourseViewModel(domainModel);

                var semesterModel = Semesters.GetSemester(domainModel.SemesterId);

                if (semesterModel.GetType() == typeof(ErrorDomainModel))
                {
                    return(GradeTrackerError(semesterModel, null));
                }

                newCourseViewModel.Semester = GetSemesterViewModel(semesterModel);

                return(View("ViewCourse", newCourseViewModel));
            }
            else
            {
                var semesterModels = Semesters.GetAllSemesters();

                if (semesterModels.Count > 0 && semesterModels.First().GetType() == typeof(ErrorDomainModel))
                {
                    return(GradeTrackerError(semesterModels.First(), null));
                }

                createViewModel.Semesters   = GetSemestersForDropDown(semesterModels);
                createViewModel.YearOptions = GetYearDropDownOptions();

                return(View("Add", createViewModel));
            }
        }
예제 #3
0
 protected CreateOrEditCourseDomainModel ConvertToDomainModel(CreateOrEditCourseViewModel viewModel)
 {
     return(new CreateOrEditCourseDomainModel
     {
         Id = viewModel.Id,
         StudentId = viewModel.StudentId,
         Name = viewModel.Name,
         Number = viewModel.Number,
         Department = viewModel.Department,
         Year = int.Parse(viewModel.Year),
         SemesterId = viewModel.SemesterId
     });
 }
예제 #4
0
        public ActionResult Add()
        {
            var createModel = new CreateOrEditCourseViewModel();

            var semesterModels = Semesters.GetAllSemesters();

            if (semesterModels.Count > 0 && semesterModels.First().GetType() == typeof(ErrorDomainModel))
            {
                return(GradeTrackerError(semesterModels.First(), null));
            }

            createModel.Semesters   = GetSemestersForDropDown(semesterModels);
            createModel.YearOptions = GetYearDropDownOptions();

            return(View(createModel));
        }
예제 #5
0
        public ActionResult EditCourse(Guid courseid)
        {
            var domainModel = Courses.GetCourse(courseid);

            if (domainModel.GetType() == typeof(ErrorDomainModel))
            {
                return(GradeTrackerError(domainModel, null));
            }

            var viewModel = new CreateOrEditCourseViewModel((CourseDomainModel)domainModel);
            var semesters = Semesters.GetAllSemesters();

            viewModel.Semesters   = GetSemestersForDropDown(semesters);
            viewModel.YearOptions = GetYearDropDownOptions();

            return(View("UpdateCourse", viewModel));
        }