Beispiel #1
0
        public TrackVM GetByUrlName(string urlName)
        {
            var track = TrackService.GetByUrlName(urlName);

            if (track == null)
            {
                return(null);
            }
            var courseTC = track.Course_TC;
//            var certifications = CertificationService.
//                GetAllForCourse(courseTC);
            var sections = SiteObjectService.GetSingleRelation <Section>(track)
                           .IsActive().ByWebOrder().ToList();


            var prices = PriceService.GetAllPricesForCourse(courseTC, null);

            var courseTCs = _.List(courseTC);

            courseTCs.AddRange(CourseService.GetActiveTrackCourses().GetValueOrDefault(track.Course_TC)
                               ?? new List <string>());
            var certTypes = CourseCertificateService.GetAll(x => courseTCs.Contains(x.Course_TC))
                            .Select(x => new { x.Course_TC, x.CertType }).Distinct().ToList().Where(x =>
                                                                                                    x.Course_TC != courseTC || x.CertType.CertTypeName.Contains(CertTypes.InterName))
                            .Select(x => x.CertType).ToList();
            var trackDetailsVM =
                new TrackVM {
                Certifications      = new List <Certification>(),
                Course              = track,
                Prices              = prices,
                Sections            = sections,
                CertTypeList        = certTypes,
                CompleteCourseCount = StudentInGroupService.CompleteCountForTracks()
                                      .GetValueOrDefault(track.ParentCourse_TC)
            };

            return(trackDetailsVM);
        }