public PartialFindResult <ArtistForApiContract> GetList( string query = "", ArtistTypes artistTypes = ArtistTypes.Nothing, string tag = null, int?followedByUserId = null, EntryStatus?status = null, int start = 0, int maxResults = defaultMax, bool getTotalCount = false, ArtistSortRule sort = ArtistSortRule.Name, NameMatchMode nameMatchMode = NameMatchMode.Exact, ArtistOptionalFields fields = ArtistOptionalFields.None, ContentLanguagePreference lang = ContentLanguagePreference.Default) { query = FindHelpers.GetMatchModeAndQueryForSearch(query, ref nameMatchMode); var types = ArtistHelper.GetArtistTypesFromFlags(artistTypes); var param = new ArtistQueryParams(query, types, start, Math.Min(maxResults, absoluteMax), false, getTotalCount, nameMatchMode, sort, false) { Tag = tag, UserFollowerId = followedByUserId ?? 0 }; param.Common.EntryStatus = status; var ssl = WebHelper.IsSSL(Request); var artists = service.FindArtists(s => new ArtistForApiContract(s, lang, thumbPersister, ssl, fields), param); return(artists); }
/// <summary> /// Gets a list of individual values from bitarray. /// <see cref="ArtistTypes.Unknown"/> is skipped. /// </summary> /// <param name="flags">Bitarray of artist types.</param> /// <returns>Individual artist types.</returns> public static ArtistType[] GetArtistTypesFromFlags(ArtistTypes flags) { return(EnumVal <ArtistTypes> .GetIndividualValues(flags) .Where(v => v != ArtistTypes.Unknown) .Select(a => EnumVal <ArtistType> .Parse(a.ToString())) .ToArray()); }
/// <summary> /// Gets a list of individual values from bitarray. /// <see cref="ArtistTypes.Nothing"/> is skipped. /// </summary> /// <param name="flags">Bitarray of artist types.</param> /// <returns>Individual artist types.</returns> public static ArtistType[] GetArtistTypesFromFlags(ArtistTypes flags) { return EnumVal<ArtistTypes> .GetIndividualValues(flags) .Where(v => v != ArtistTypes.Nothing) .Select(a => EnumVal<ArtistType>.Parse(a.ToString())) .ToArray(); }
public PartialFindResult<ArtistForApiContract> GetList( string query = "", ArtistTypes artistTypes = ArtistTypes.Nothing, string tag = null, int? followedByUserId = null, EntryStatus? status = null, int start = 0, int maxResults = defaultMax, bool getTotalCount = false, ArtistSortRule sort = ArtistSortRule.Name, NameMatchMode nameMatchMode = NameMatchMode.Exact, ArtistOptionalFields fields = ArtistOptionalFields.None, ContentLanguagePreference lang = ContentLanguagePreference.Default) { query = FindHelpers.GetMatchModeAndQueryForSearch(query, ref nameMatchMode); var types = ArtistHelper.GetArtistTypesFromFlags(artistTypes); var param = new ArtistQueryParams(query, types, start, Math.Min(maxResults, absoluteMax), false, getTotalCount, nameMatchMode, sort, false) { Tag = tag, UserFollowerId = followedByUserId ?? 0 }; param.Common.EntryStatus = status; var ssl = WebHelper.IsSSL(Request); var artists = service.FindArtists(s => new ArtistForApiContract(s, lang, thumbPersister, ssl, fields), param); return artists; }