Example #1
0
        public IEnumerable <PlaylistItem> Get(string name, IMap <IEnumerable <PlaylistItem>, IEnumerable <MixxxPlaylistTrack> > mapper)
        {
            using (var transaction = _connection.BeginTransaction())
            {
                var mixxPlaylist = MixxxPlaylist.Load(name, true, _connection, transaction);

                if (mixxPlaylist == null || mixxPlaylist.Id == 0)
                {
                    return(null);
                }
                return(mapper.Transform(mixxPlaylist.PlaylistTracks));
            }
        }
Example #2
0
 public bool Delete(string name)
 {
     using (var transaction = _connection.BeginTransaction())
     {
         var existingMixxPlaylist = MixxxPlaylist.Load(name, true, _connection, transaction);
         if (existingMixxPlaylist == null || existingMixxPlaylist.Id <= 0)
         {
             transaction.Rollback();
             return(false);
         }
         if (existingMixxPlaylist.Delete(_connection, transaction))
         {
             transaction.Commit();
             return(true);
         }
         transaction.Rollback();
         return(false);
     }
 }
Example #3
0
        public bool Create(string name, IEnumerable <PlaylistItem> playlistItems, IMap <IEnumerable <PlaylistItem>, IEnumerable <MixxxPlaylistTrack> > mapper)
        {
            var mixxPlaylist = new MixxxPlaylist(name)
            {
                PlaylistTracks = mapper.Transform(playlistItems)
            };

            using (var transaction = _connection.BeginTransaction())
            {
                var result = mixxPlaylist.Save(_connection, transaction);
                if (result)
                {
                    transaction.Commit();
                    return(true);
                }
                else
                {
                    transaction.Rollback();
                    return(false);
                }
            }
        }