Exemple #1
0
        public HomeController(
            UserManager <ApplicationUser> userManager,
            RoleManager <ApplicationRole> roleManager,

            IEntityRepository <Employee> employeeRepository,
            IEntityRepository <Student> studentRepository,
            IEntityRepository <Department> departmentRepository,
            IEntityRepository <GradeAndClass> gradeAndClassRepository,
            IEntityRepository <CourseWithRoles> courseWithRolesRepository,
            IEntityRepository <CourseWithUsers> courseWithUsersRepository,
            IEntityRepository <Course> repository,
            IAuthorizationService authorizationService
            )
        {
            _userManager = userManager;
            _roleManager = roleManager;

            _employeeRepository        = employeeRepository;
            _studentRepository         = studentRepository;
            _departmentRepository      = departmentRepository;
            _gradeAndClassRepository   = gradeAndClassRepository;
            _courseWithRolesRepository = courseWithRolesRepository;
            _courseWithUsersRepository = courseWithUsersRepository;
            _boRepository = repository;

            _authorizationService = authorizationService;

            _boVMService = new CourseVMService(_userManager, _roleManager, _employeeRepository, _studentRepository, _departmentRepository, _gradeAndClassRepository, _courseWithRolesRepository, _courseWithUsersRepository, _boRepository);
        }
Exemple #2
0
        public virtual ActionResult Details(string urlName)
        {
            if (CommonConst.IsMobile)
            {
                return(MView(Views.Course.Details,
                             CourseVMService.GetMobileByUrlName(urlName)));
            }



            if (urlName.In("tor1", "sks1", "sks2", "tor2"))
            {
                string urlnew = "t-" + urlName.Substring(0, urlName.Length - 1);
                return(this.RedirectToAction(c => c.Details(urlnew)));
//				var model = CourseVMService.GetByUrlName(urlnew);
//				return View(model);
            }
            if (urlName.In("tor16", "tor32"))
            {
                var urlnew = "t-tor";
                return(this.RedirectToAction(c => c.Details(urlnew)));
            }
            if (urlName.In("torsh1", "torsh2"))
            {
                var urlnew = "torsh";
                return(this.RedirectToAction(c => c.Details(urlnew)));
            }
            else
            {
                int id;
                if (int.TryParse(urlName, out id))
                {
                    var course = CourseService.GetAll()
                                 .FirstOrDefault(c => c.Course_ID == id);
                    return(RedirectOrNotFound(course));
                }

                if (Regex.IsMatch(urlName.ToLowerInvariant(), "[а-я]"))
                {
                    var course = CourseService.GetAll()
                                 .FirstOrDefault(c => c.Course_TC == urlName.ToUpperInvariant());
                    if (urlName.Equals(
                            course.GetOrDefault(x => x.UrlName),
                            StringComparison.InvariantCultureIgnoreCase))
                    {
                        return(NotFound());
                    }
                    return(RedirectOrNotFound(course));
                }


                var model = CourseVMService.GetByUrlName(urlName);

                if (model != null && model.Course.IsTrackBool && !CourseTC.TorUrls.Contains(model.Course.UrlName))
                {
                    return(RedirectToAction <TrackController>(c => c.Details(model.Course.UrlName), true));
                }
                return(View(model));
            }
        }
Exemple #3
0
        public ActionResult SectionTrainers(string urlName)
        {
            var section = SectionService.GetAll().ByUrlName(urlName);

            if (section == null)
            {
                return(null);
            }
            var courseTCs = CourseVMService
                            .GetCourseTCListForTotalSection(section.Section_ID);

            var groups = GroupService.GetGroupsForCourses(courseTCs)
                         .Where(g => g.Teacher_TC != null).ToList();
            var groupCountByTrainers = groups.GroupBy(x => x.Teacher_TC)
                                       .ToDictionary(x => x.Key, x => x.Count());
            var trainers = groups
                           .Select(x => x.Teacher)
                           .Distinct(x => x.Employee_TC)
                           .Select(x => new { Teacher = x,
                                              Count   = groupCountByTrainers.GetValueOrDefault(x.Employee_TC) })
                           .Where(x => x.Teacher.FinalSiteVisible && x.Count > 0)
                           .OrderByDescending(x => x.Count).Select(x => x.Teacher)
                           .ToList();

            return(View(ViewNames.Trainers, CommonVM.New(trainers, "Преподаватели направления: " + section.Name)));
        }
Exemple #4
0
        public ActionResult Tags(string courseTC)
        {
            var model = CourseVMService.GetTags(courseTC);

            if (model.Count == 0)
            {
                return(null);
            }
            return(View(ViewNames.TagCloud, model));
        }
Exemple #5
0
 public ActionResult Group(decimal id)
 {
     return(View(Views.Course.GroupMobile,
                 CourseVMService.GetMobileByGroup(id)));
 }
Exemple #6
0
 public ActionResult Print(string urlName)
 {
     ViewData["ForPrint"] = true;
     return(View(PartialViewNames.CourseContents, CourseVMService.GetByUrlName(urlName)));
 }
Exemple #7
0
//		[OutputCache(Duration = 60 * 60)]
        public virtual ActionResult MainCoursesSections()
        {
            var model = CourseVMService.GetMainCourses();

            return(View(model));
        }
Exemple #8
0
        public virtual ActionResult MainCourses()
        {
            var model = CourseVMService.GetMainCourses();

            return(MView(Views.Course.MainCourses, model));
        }