Example #1
0
        public void Init(SpotifyDbContext context)
        {
            if (!Directory.Exists(defaultDataFolderPath))
            {
                Directory.CreateDirectory(defaultDataFolderPath);

                foreach (string dataType in Enum.GetNames(typeof(FileStorageFileType)))
                {
                    string subDir = Path.Combine(Path.Combine(defaultDataFolderPath, dataType));
                    Directory.CreateDirectory(subDir);
                }

                string deafultTrackPath = Path.Combine(Directory.GetCurrentDirectory(), "InitialData/Ionics - Awkward Mystery.mp3");
                byte[] trackData        = File.ReadAllBytes(deafultTrackPath);

                Track testTrack = context.Tracks
                                  .Where(x => x.Title == "Awkward Mystery")
                                  .FirstOrDefault();

                if (testTrack == null)
                {
                    string trackPath = StoreFile(FileStorageFileType.Track, context.Tracks.Count() + 1, trackData, "audio/mpeg");
                    testTrack = AddTestTrackToDb(context, trackPath);

                    string deafultAvatarPath = Path.Combine(Directory.GetCurrentDirectory(), "InitialData/DefaultAvatar.svg");
                    byte[] avatarData        = File.ReadAllBytes(deafultAvatarPath);
                    string avatarPath        = StoreFile(FileStorageFileType.Avatar, 0, avatarData, "image/svg+xml");
                    string avatarAuthorPath  = StoreFile(FileStorageFileType.AuthorAvatar, 0, avatarData, "image/svg+xml");

                    string deafultAlbumCoverkPath = Path.Combine(Directory.GetCurrentDirectory(), "InitialData/DefaultAlbumCover.png");
                    byte[] albumCoverData         = File.ReadAllBytes(deafultAlbumCoverkPath);
                    string albumCoverPath         = StoreFile(FileStorageFileType.AlbumCover, 0, albumCoverData, "image/png");
                }
            }
        }
Example #2
0
        private Track AddTestTrackToDb(SpotifyDbContext context, string path)
        {
            Author testAuthor = new Author
            {
                CreatedOn   = DateTime.Now,
                UpdatedOn   = DateTime.Now,
                Name        = "Ionics",
                Description = "",
                Plays       = 0,
                Avatar      = "/data/author-avatar/0"
            };

            context.Authors.Add(testAuthor);
            context.SaveChanges();

            Album testAlbum = new Album
            {
                CreatedOn   = DateTime.Now,
                UpdatedOn   = DateTime.Now,
                PublishedOn = DateTime.Now,
                Description = "",
                Authors     = new List <AlbumAuthor>(),
                CreatedById = 1,
                Title       = "Awkward Mystery",
                Plays       = 0,
                Cover       = "/data/album-cover/0"
            };

            context.Albums.Add(testAlbum);
            context.SaveChanges();

            Track testTrack = new Track
            {
                CreatedOn   = DateTime.Now,
                CreatedById = 1,
                AlbumId     = testAlbum.AlbumId,
                Title       = "Awkward Mystery",
                Duration    = 2 * 60 + 6,
                Plays       = 0,
                Path        = path
            };

            context.Tracks.Add(testTrack);
            context.SaveChanges();

            TrackAuthor testTrackAuthor = new TrackAuthor
            {
                TrackId  = testTrack.TrackId,
                AuthorId = testAuthor.AuthorId
            };

            context.TrackAuthor.Add(testTrackAuthor);
            context.SaveChanges();

            AlbumTrack testTrackAlbum = new AlbumTrack
            {
                TrackId = testTrack.TrackId,
                AlbumId = testAlbum.AlbumId
            };

            context.AlbumTrack.Add(testTrackAlbum);
            context.SaveChanges();

            AlbumAuthor albumAuthor = new AlbumAuthor
            {
                AlbumId  = testAlbum.AlbumId,
                AuthorId = testAuthor.AuthorId
            };

            context.AlbumAuthor.Add(albumAuthor);
            context.SaveChanges();

            return(testTrack);
        }