示例#1
0
        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);
        }
示例#2
0
 /// <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());
 }
示例#3
0
		/// <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;
        }