public async Task <ActionResult> SlugAction(string slug) { if (String.IsNullOrEmpty(slug)) { return(RedirectToAction("Index")); } BOL.Album album = await objBs.albumBs.GetBySlug(slug); if (album == null) { return(RedirectToAction("Index")); } ViewBag.Message = "Album public page."; int pageSize = 5; int pageIndex = 1; pageIndex = 1; ViewBag.CurrentSort = "Name"; IEnumerable <BOL.Photo> Photos = await objBs.photoBs.GetByAlbumID(album.AlbumID); IPagedList <BOL.Photo> pg_photo = null; pg_photo = Photos.OrderBy(p => p.Name).ToPagedList(pageIndex, pageSize); ViewBag.AlbumID = album.AlbumID; ViewBag.UserName = album.AspNetUser.UserName; ViewBag.AlbumName = album.Name; ViewBag.Description = album.Description; string directLink = string.Format("{0}://{1}{2}{3}{4}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"), @"Albs/", album.AlbumSlug); ViewBag.DirectLink = directLink; return(View("Album", pg_photo)); }
public async Task <ActionResult> Album(int?AlbumID, string sortOrder, string CurrentSort, int?page) { ViewBag.Message = "Album public page."; if (AlbumID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } BOL.Album album = await objBs.albumBs.GetByID(AlbumID.Value); if (album == null) { return(HttpNotFound()); } int pageSize = 5; int pageIndex = 1; pageIndex = page.HasValue ? Convert.ToInt32(page) : 1; ViewBag.CurrentSort = sortOrder; sortOrder = String.IsNullOrEmpty(sortOrder) ? "Name" : sortOrder; IEnumerable <BOL.Photo> Photos = await objBs.photoBs.GetByAlbumID(AlbumID.Value); IPagedList <BOL.Photo> pg_photo = null; switch (sortOrder) { case "Name": if (sortOrder.Equals(CurrentSort)) { pg_photo = Photos.OrderByDescending (m => m.Name).ToPagedList(pageIndex, pageSize); } else { pg_photo = Photos.OrderBy (m => m.Name).ToPagedList(pageIndex, pageSize); } break; case "Time": if (sortOrder.Equals(CurrentSort)) { pg_photo = Photos.OrderByDescending (m => m.TimeTaken).ToPagedList(pageIndex, pageSize); } else { pg_photo = Photos.OrderBy (m => m.TimeTaken).ToPagedList(pageIndex, pageSize); } break; case "Flash": if (sortOrder.Equals(CurrentSort)) { pg_photo = Photos.OrderByDescending (m => m.Flash).ToPagedList(pageIndex, pageSize); } else { pg_photo = Photos.OrderBy (m => m.Flash).ToPagedList(pageIndex, pageSize); } break; case "Default": pg_photo = Photos.OrderBy (m => m.Name).ToPagedList(pageIndex, pageSize); break; } ViewBag.AlbumID = album.AlbumID; ViewBag.UserName = album.AspNetUser.UserName; ViewBag.AlbumName = album.Name; ViewBag.Description = album.Description; string directLink = string.Format("{0}://{1}{2}{3}{4}", Request.Url.Scheme, Request.Url.Authority, Url.Content("~"), @"Albs/", album.AlbumSlug); ViewBag.DirectLink = directLink; return(View(pg_photo)); }