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