示例#1
0
        public IActionResult GetAlbum(string nameArtist, string nameAlbum)
        {
            var nameArtistForRequest = nameArtist.Replace(" ", "+");
            var nameAlbumForRequest  = nameAlbum.Replace(" ", "+");

            var listTrackInDb = _trackService.GetAll().Where(a => a.AlbumId == _albumService.Get(nameAlbum).Id);

            if (listTrackInDb.Count() == 0)
            {
                Album alb = _albumService.GetAll().Where(a => a.Name == nameAlbum).FirstOrDefault(b => b.NameArtist == nameArtist);

                Album album    = _albumService.GetAlbum(nameArtistForRequest, nameAlbumForRequest);
                var   artistId = _artistService.Get(nameArtist).Id;
                foreach (Track track in album.Tracks)
                {
                    track.AlbumId   = alb.Id;
                    track.NameAlbum = nameAlbum;
                    _trackService.Create(track);
                }
                _albumService.Update(alb);
                return(View(album));
            }
            else
            {
                return(View(_albumService.GetAll().Where(a => a.Name == nameAlbum).FirstOrDefault(b => b.NameArtist == nameArtist)));
            }
        }
示例#2
0
        public IHttpActionResult GetAll()
        {
            List <TrackDto> tracks;

            using (_trackService)
            {
                tracks = _trackService.GetAll();
            }
            return(Ok(tracks));
        }
        public TrackViewModel(IMvxNavigationService navigationService, ITrackService trackService)
        {
            _trackService      = trackService;
            _navigationService = navigationService;
            var items = _trackService.GetAll();

            Items = new MvxObservableCollection <Track>();

            _items.AddRange(items);
        }
示例#4
0
        public void Search()
        {
            string[] filenames = Directory.GetFiles("D:/WEB_Onion/OAA.Web/wwwroot/tracks/", "*.mp3", SearchOption.AllDirectories);
            foreach (var link in filenames)
            {
                // nameTrack-nameArtist.mp3
                var nameTrack  = "";
                var nameArtist = "";
                var splited    = link.Split("-");
                nameTrack  = splited[0].Split("/")[5];
                nameArtist = splited[1].Replace(".mp3", "");

                var linkT = "http://localhost:52527/tracks/" + nameTrack + "-" + nameArtist + ".mp3";

                var nameT = nameTrack.Replace(" ", "+");
                var nameA = nameArtist.Replace(" ", "+");

                if (artistService.GetAll().Where(a => a.Name == nameArtist).Count() == 0)
                {
                    AddArtistToDb(nameArtist);
                }

                var   nameAlbum = trackService.GetAlbumTrackName(nameA, nameT);
                Album album     = albumService.GetAll().Where(a => a.NameArtist == nameArtist).FirstOrDefault(b => b.Name == nameAlbum);

                if (album == null)
                {
                    Album alb = albumService.GetAlbum(nameArtist, nameAlbum);
                    alb.ArtistId = artistService.Get(nameArtist).Id;
                    albumService.Create(alb);
                }

                if (trackService.GetAll().Where(a => a.Name == nameTrack).FirstOrDefault(b => b.NameAlbum == nameAlbum) != null)
                {
                    AddLinkToDb(nameTrack, nameArtist, linkT);
                }
                else
                {
                    Track track = trackService.AddTrackFromLast(nameTrack, nameArtist, linkT);
                    track.AlbumId   = albumService.GetAll().Where(a => a.Name == nameAlbum).FirstOrDefault(b => b.NameArtist == nameArtist).Id;
                    track.NameAlbum = nameAlbum;
                    trackService.Create(track);
                }
            }
        }
示例#5
0
        public void GetAllTracks_UnderNormalConditions_ReturnsListOfTracks()
        {
            //Arrange
            Mock.Arrange(() => _trackService.GetAll()).Returns(_trackList).OccursOnce();

            var trackController = new TrackController(_trackService);

            var expected = _trackList;

            //Act
            var actual        = trackController.GetAll() as OkNegotiatedContentResult <List <TrackDto> >;
            var actualContent = actual.Content;


            //Assert
            Mock.Assert(_trackService);
            Assert.That(actualContent, Is.EqualTo(expected));
        }
示例#6
0
 public IActionResult GetAll()
 {
     return(Ok(trackService.GetAll()));
 }