Exemplo n.º 1
0
        public PartialFindResult <ArtistForUserForApiContract> GetFollowedArtists(
            int id,
            string query                   = "",
            [FromUri] int[] tagId          = null,
            ArtistType artistType          = ArtistType.Unknown,
            int start                      = 0,
            int maxResults                 = defaultMax,
            bool getTotalCount             = false,
            ArtistSortRule sort            = ArtistSortRule.Name,
            NameMatchMode nameMatchMode    = NameMatchMode.Auto,
            ArtistOptionalFields fields    = ArtistOptionalFields.None,
            ContentLanguagePreference lang = ContentLanguagePreference.Default)
        {
            maxResults = Math.Min(maxResults, absoluteMax);
            var textQuery = ArtistSearchTextQuery.Create(query, nameMatchMode);

            var queryParams = new FollowedArtistQueryParams {
                UserId     = id,
                ArtistType = artistType,
                Paging     = new PagingProperties(start, maxResults, getTotalCount),
                SortRule   = sort,
                TagIds     = tagId,
                TextQuery  = textQuery
            };

            var artists = queries.GetArtists(queryParams, afu =>
                                             new ArtistForUserForApiContract(afu, lang, thumbPersister, fields));

            return(artists);
        }
Exemplo n.º 2
0
        public PartialFindResult <ArtistForUserForApiContract> GetFollowedArtists(
            int userId,
            ArtistType artistType          = ArtistType.Unknown,
            int start                      = 0,
            int maxResults                 = defaultMax,
            bool getTotalCount             = false,
            ArtistOptionalFields fields    = ArtistOptionalFields.None,
            ContentLanguagePreference lang = ContentLanguagePreference.Default)
        {
            maxResults = Math.Min(maxResults, absoluteMax);
            var ssl = WebHelper.IsSSL(Request);

            var queryParams = new FollowedArtistQueryParams {
                UserId     = userId,
                ArtistType = artistType,
                Paging     = new PagingProperties(start, maxResults, getTotalCount),
            };

            var artists = queries.GetArtists(queryParams, afu =>
                                             new ArtistForUserForApiContract(afu, lang, thumbPersister, ssl, fields));

            return(artists);
        }