コード例 #1
0
        private async Task <SearchArtistViewModel> MapIntoArtistVm(ArtistLookup a)
        {
            var vm = new SearchArtistViewModel
            {
                ArtistName     = a.artistName,
                ArtistType     = a.artistType,
                Banner         = a.images?.FirstOrDefault(x => x.coverType.Equals("banner"))?.url,
                Logo           = a.images?.FirstOrDefault(x => x.coverType.Equals("logo"))?.url,
                CleanName      = a.cleanName,
                Disambiguation = a.disambiguation,
                ForignArtistId = a.foreignArtistId,
                Links          = a.links,
                Overview       = a.overview,
            };

            var poster = a.images?.FirstOrDefault(x => x.coverType.Equals("poaster"));

            if (poster == null)
            {
                vm.Poster = a.remotePoster;
            }


            await Rules.StartSpecificRules(vm, SpecificRules.LidarrArtist);

            return(vm);
        }
コード例 #2
0
        public async Task Should_Not_Be_Monitored()
        {
            var request = new SearchArtistViewModel {
                ForignArtistId = "abc"
            };
            var result = await Rule.Execute(request, string.Empty);

            Assert.True(result.Success);
            Assert.False(request.Monitored);
        }
コード例 #3
0
        public void SetsImagesToEmpty_IfNoImages()
        {
            var artist = new Artist
            {
                Name         = "Norma Jean",
                ThirdPartyId = "55b0Gfm53udtGBs8mmNXrH"
            };
            var result = new SearchArtistViewModel(artist);

            result.Images.Should().BeEmpty();
        }
コード例 #4
0
        public void ConvertsImages_IfAny()
        {
            var artist = new Artist
            {
                Name         = "Norma Jean",
                ThirdPartyId = "55b0Gfm53udtGBs8mmNXrH",
                Images       = new List <Image>
                {
                    new Image
                    {
                        Height = 640,
                        Url    = "https://i.scdn.co/image/4f4fb36a3c564d0078be2e21962ee47724747b44",
                        Width  = 640
                    },
                    new Image
                    {
                        Height = 320,
                        Url    = "https://i.scdn.co/image/8717743daaf2e2b2f53008e5835232f9e90d5897",
                        Width  = 320
                    },
                    new Image
                    {
                        Height = 160,
                        Url    = "https://i.scdn.co/image/e99dfcc008ac74efced891cda956f6e4d0463260",
                        Width  = 160
                    }
                }
            };
            var expected = new List <ImageViewModel>
            {
                new ImageViewModel
                {
                    Height = 640,
                    Path   = "https://i.scdn.co/image/4f4fb36a3c564d0078be2e21962ee47724747b44",
                    Width  = 640
                },
                new ImageViewModel
                {
                    Height = 320,
                    Path   = "https://i.scdn.co/image/8717743daaf2e2b2f53008e5835232f9e90d5897",
                    Width  = 320
                },
                new ImageViewModel
                {
                    Height = 160,
                    Path   = "https://i.scdn.co/image/e99dfcc008ac74efced891cda956f6e4d0463260",
                    Width  = 160
                }
            };
            var result = new SearchArtistViewModel(artist);

            result.Images.Should().BeEquivalentTo(expected);
        }
コード例 #5
0
        public async Task Should_Be_Monitored_Casing()
        {
            ContextMock.Setup(x => x.GetAll()).Returns(new List <LidarrArtistCache>
            {
                new LidarrArtistCache
                {
                    ForeignArtistId = "abc",
                }
            }.AsQueryable());
            var request = new SearchArtistViewModel {
                ForignArtistId = "abc"
            };
            var result = await Rule.Execute(request, string.Empty);

            Assert.True(result.Success);
            Assert.True(request.Monitored);
        }
コード例 #6
0
        public JsonResult GetSongs(string artist, string term)
        {
            var _songList = new List<SearchArtistViewModel>();
            var artistName = artist;

            if (!string.IsNullOrEmpty(term))
            {
                var songs = (from s in db.Songs
                             where s.Låtnamn.StartsWith(term)
                             orderby s.Låtnamn
                             select new { s.Låtnamn }).Take(5).Distinct().ToList();

                foreach (var s in songs)
                {
                    var songobjects = new SearchArtistViewModel
                    {
                        Song = s.Låtnamn,
                    };
                    _songList.Add(songobjects);
                }
            }
            return Json(_songList,
              JsonRequestBehavior.AllowGet);
        }
コード例 #7
0
        public JsonResult GetArtists(string term)
        {
            var _artistList = new List<SearchArtistViewModel>();

            if (!string.IsNullOrEmpty(term))
            {
                var artists = (from s in db.Songs
                               where s.Artist.StartsWith(term)
                               orderby s.Artist
                               select new { s.Artist }).Take(5).Distinct().ToList();

                foreach (var s in artists)
                {
                    var songobjects = new SearchArtistViewModel
                    {
                        Artist = s.Artist,
                    };
                    _artistList.Add(songobjects);
                }
            }
            return Json(_artistList,
              JsonRequestBehavior.AllowGet);
        }