public ActionResult UsersStats(int?page, string sortBy, string dir) { var pageSize = 15; var allUsers = this.Users.GetAllUsers(); var usersCount = allUsers.Count(); var pages = Pager.PageCount(usersCount, pageSize); page = Pager.ClampPage(page, pages); var users = this.Users.GetUserInformation(allUsers); users = users.OrderByDescending(u => u.EventsCheckedIn).Skip((page.Value - 1) * pageSize).Take(pageSize); return(View("Users", new StatsUsersModel { Users = users, PageInfo = new PaginationInformation { Pager = this.Skins.GetDefaultPager(), ControllerName = "Stats", ActionName = "Users", CurrentPage = page, Items = usersCount, ItemsPerPage = pageSize, PageAttribute = "page", RouteValues = null } })); }
public ActionResult EventsHistory(int?page, string sortBy, string dir) { int pageSize = 15; var events = this.GetEventStats(); var eventsCount = events.Count(); var pages = Pager.PageCount(eventsCount, pageSize); page = Pager.ClampPage(page, pages); events = events.OrderByDescending(t => t.Event.BeginDateTime).Skip((page.Value - 1) * pageSize).Take(pageSize); return(View("Events", new StatsEventsModel { Events = events, PageInfo = new PaginationInformation { Pager = this.Skins.GetDefaultPager(), ControllerName = "Stats", ActionName = "Events", CurrentPage = page, Items = eventsCount, ItemsPerPage = pageSize, PageAttribute = "page", RouteValues = null } })); }
public ActionResult ViewForum(long?id, int?page) { int pageSize = 25; if (!id.HasValue) { return(View("NotAvailable")); } Forum f = this.Forums.GetForum(id.Value); if (f == null) { return(View("NotFound")); } ForumAccess a = this.Security.GetUserForumAccess(CurrentUser, f); if (!a.CanView) { return(View("NotAuthorized")); } var threadSource = this.Forums.GetForumViewableThreads(f.ForumID); var threadCount = threadSource.Count(); var threads = GetThreadInformation(threadSource, CurrentUser); int pages = Pager.PageCount(threadCount, pageSize); page = Pager.ClampPage(page, pages); var threadsList = new ThreadList { Threads = threads.OrderByDescending(t => t.LastPostDate).OrderByDescending(t => t.Thread.Level).Skip((page.Value - 1) * pageSize).Take(pageSize).ToList() }; var fd = new ForumDetailsModel { Forum = f, UserAccess = a, PageInfo = new PaginationInformation { Pager = this.Skins.GetDefaultForumPager(), ControllerName = "Forums", ActionName = "ViewForum", PageAttribute = "page", RouteValues = new System.Web.Routing.RouteValueDictionary(new { id = id }), ItemsPerPage = pageSize, Items = threadCount, CurrentPage = page }, Threads = threadsList }; return(View("ViewForum", fd)); }
public ActionResult Gallery(long? @event, long?user, int?page) { int pageSize = 50; CachedEvent viewEvent = null; if (@event.HasValue) { viewEvent = this.Events.GetEvent(@event.Value); if (viewEvent == null) { return(this.HttpError(404, this.View("NotFound"))); } } UserInformation viewUser = null; if (user.HasValue) { viewUser = this.Users.GetUserInformation(user.Value); if (viewUser == null) { return(this.HttpError(404, this.View("NotFound"))); } } var images = FilterImages(this.Db.EventImages, @event, user); int imageCount = images.Count(); int pages = Pager.PageCount(imageCount, pageSize); page = Pager.ClampPage(page, pages); var viewImages = images.Skip((page.Value - 1) * pageSize).Take(pageSize).ToList(); return(this.View(new ImageGalleryModel { Event = viewEvent, User = viewUser, Images = viewImages, PageInfo = new PaginationInformation { Pager = this.Skins.GetDefaultGalleryPager(), CurrentPage = page, Items = imageCount, ItemsPerPage = pageSize, ControllerName = "Images", ActionName = "Gallery", PageAttribute = "page", RouteValues = new System.Web.Routing.RouteValueDictionary(new { @event = @event, user = user }) } })); }
public ActionResult ViewThread(long?id, int?page) { int pageSize = 25; if (!id.HasValue) { return(View("NotAvailable")); } var t = this.Forums.GetThread(id.Value); if (t == null || t.IsDeleted) { return(View("NotFound")); } Forum f = t.Forum; ForumAccess a = this.Security.GetUserForumAccess(CurrentUser, f); if (!a.CanRead) { return(View("NotAuthorized")); } lock (syncRoot) { t = this.Forums.GetThread(id.Value); t.Views = t.Views + 1; this.Db.SubmitChanges(); } if (CurrentUser != null) { ThreadRead tr = (from thr in this.Db.ThreadReads where thr.ThreadID == id && thr.UserID == CurrentUser.UserID select thr).SingleOrDefault(); if (tr == null) { tr = new ThreadRead { ThreadID = t.ThreadID, UserID = CurrentUser.UserID, DateRead = DateTime.UtcNow, }; this.Db.ThreadReads.InsertOnSubmit(tr); } else { tr.DateRead = DateTime.UtcNow; } this.Db.SubmitChanges(); } var posts = this.GetPostsInformation(t); int postCount = posts.Count(); int pages = Pager.PageCount(postCount, pageSize); page = Pager.ClampPage(page, pages); posts = posts.OrderBy(p => p.Post.CreateDate).Skip((page.Value - 1) * pageSize).Take(pageSize); ForumThreadModel tm = new ForumThreadModel { Thread = t, Posts = posts.ToList(), UserAccess = a, PageInfo = new PaginationInformation { Pager = this.Skins.GetDefaultThreadPager(), CurrentPage = page, Items = postCount, ItemsPerPage = pageSize, ControllerName = "Forums", ActionName = "ViewThread", PageAttribute = "page", RouteValues = new System.Web.Routing.RouteValueDictionary(new { id = id }) } }; return(View("ViewThread", tm)); }