public ShareCodeDto GetShareCode(Guid playlistId) { ShareCodeDto shareCodeDto; using (ITransaction transaction = Session.BeginTransaction()) { Playlist playlist = PlaylistManager.CopyAndSave(playlistId); ShareCode shareCode = ShareCodeManager.GetShareCode(playlist); shareCodeDto = ShareCodeDto.Create(shareCode); transaction.Commit(); } return(shareCodeDto); }
public ShareCodeDto GetShareCode(Guid playlistId) { ShareCodeDto shareCodeDto; using (ITransaction transaction = Session.BeginTransaction()) { // Copy the playlist here to serve a static copy instead of whatever the state is when share code is accessed. Playlist playlist = PlaylistManager.CopyAndSave(playlistId); ShareCode shareCode = ShareCodeManager.GetShareCode(playlist); shareCodeDto = ShareCodeDto.Create(shareCode); transaction.Commit(); } return(shareCodeDto); }
public void GetSharedPlaylist_PlaylistShareCodeExists_CopyOfPlaylistCreated() { User user = Helpers.CreateUser(); Playlist playlist = PlaylistManager.CopyAndSave(user.Playlists.First().Id); ShareCode shareCode = ShareCodeManager.GetShareCode(playlist); CopyPlaylistRequestDto shareCodeRequestDto = new CopyPlaylistRequestDto(user.Id, shareCode.EntityId); // Create a new playlist for the given user by loading up the playlist via sharecode. var playlistDto = PlaylistController.Copy(shareCodeRequestDto); // Make sure we actually get a Playlist DTO back from the Controller. Assert.NotNull(playlistDto); User userFromDatabase = UserManager.Get(playlistDto.UserId); // Make sure that the created playlist was cascade added to the User Assert.That(userFromDatabase.Playlists.Count(p => p.Id == playlistDto.Id) == 1); }
public JsonResult GetShareCode(ShareableEntityType entityType, Guid entityId) { if (entityType != ShareableEntityType.Playlist) { throw new NotSupportedException("Only Playlist entityType can be shared currently."); } ShareCodeDto shareCodeDto; using (ITransaction transaction = Session.BeginTransaction()) { Playlist playlist = PlaylistManager.CopyAndSave(entityId); ShareCode shareCode = ShareCodeManager.GetShareCode(playlist); shareCodeDto = ShareCodeDto.Create(shareCode); transaction.Commit(); } return(Json(shareCodeDto)); }
public void GetSharedPlaylist_PlaylistShareCodeExists_CopyOfPlaylistCreated() { User user = Helpers.CreateUser(); Playlist playlist = PlaylistManager.CopyAndSave(user.Playlists.First().Id); ShareCode shareCode = ShareCodeManager.GetShareCode(playlist); // Create a new playlist for the given user by loading up the playlist via sharecode. JsonResult result = PlaylistController.CreateCopyByShareCode(shareCode.ShortId, shareCode.UrlFriendlyEntityTitle, user.Id); var playlistDto = (PlaylistDto)result.Data; // Make sure we actually get a Playlist DTO back from the Controller. Assert.NotNull(playlistDto); User userFromDatabase = UserManager.Get(playlistDto.UserId); // Make sure that the created playlist was cascade added to the User Assert.That(userFromDatabase.Playlists.Count(p => p.Id == playlistDto.Id) == 1); }