コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }