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); }