public ResourceListViewModel AlbumResources(int AlbumID, int PageNumber) { IResourceRepository repository = new Repository.ResourceRepository(); try { string userName = this.User.Identity.Name; Album album = repository.GetAlbum(AlbumID, userName); ResourceListViewModel resourceVM = new ResourceListViewModel { Resources = album.Resources.Skip((PageNumber - 1) * 20).Take(20).ToList(), Total = album.Resources.Count }; //Clear the album's resources to prevent circular reference converting to json album.Resources.Clear(); return(resourceVM); } catch (Exception e) { throw new System.Exception("No such album called " + AlbumID); } }
public Album GetAlbum(int id) { IResourceRepository repository = new Repository.ResourceRepository(); string userName = this.User.Identity.Name; try { Album album = repository.GetAlbum(id, userName); //reset the resources list because it causes circular reference album.Resources = new List <ResourceModel.DigitalResource>(); return(album); } catch (Exception e) { throw new System.Exception("No such album called " + id); } }