public ActionResult Search(string search, ComicStat.ComicStatPeriod?period, string language, int?page) { if (!period.HasValue) { period = ComicStat.ComicStatPeriod.AllTime; } page = Math.Max(page.HasValue ? page.Value : 1, 1); int skip = Math.Max(page.Value - 1, 0) * PageSize; IQueryable <Data.Comic> query = this.EntityContext.SearchPublishedComics(search, this.ActiveUser, this.Friends, period.Value, language); List <Data.Comic> comics = query .OrderByDescending(c => c.ComicStat.FirstOrDefault(s => s.Period == (int)period).Overall) .Skip(skip) .Take(PageSize) .ToList(); int items = query.Count(); int max = items / PageSize; if (items % PageSize != 0) { max += 1; } ViewDirectory view = new ViewDirectory(comics, ViewDirectory.DirectoryMode.Search, period.Value, page.Value, max); return(View("Directory", view)); }
public ActionResult Smartest(ComicStat.ComicStatPeriod?period, string language, int?page) { if (!period.HasValue) { period = ComicStat.ComicStatPeriod.AllTime; } ViewDirectory view = this.LoadDirectory(period, language, page, c => c.ComicStat.FirstOrDefault(s => s.Period == (int)period).Smart, ViewDirectory.DirectoryMode.Smartest); return(View("Directory", view)); }
public ActionResult Newest(ComicStat.ComicStatPeriod?period, string language, int?page) { if (!period.HasValue) { period = ComicStat.ComicStatPeriod.AllTime; } ViewDirectory view = this.LoadDirectory(period, language, page, c => c.ComicId, ViewDirectory.DirectoryMode.Newest); return(View("Directory", view)); }
public ActionResult Index() { var comics = this.EntityContext.ListPublishedComics(this.ActiveUser, this.Friends, ComicStat.ComicStatPeriod.AllTime, CultureInfo.CurrentCulture.TwoLetterISOLanguageName) .OrderByDescending(c => c.PublishTime.Value) .Take(10) .ToList(); ViewDirectory view = new ViewDirectory(comics, ViewDirectory.DirectoryMode.Newest, ComicStat.ComicStatPeriod.AllTime, 1, 1); return(View("Home", view)); }