Exemple #1
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 #2
0
 public ActionResult Print(string urlName)
 {
     ViewData["ForPrint"] = true;
     return(View(PartialViewNames.CourseContents, CourseVMService.GetByUrlName(urlName)));
 }