Business.EditPlaylistBusiness.LoadCategoriesAsync C# (CSharp) Метод

LoadCategoriesAsync() публичный Метод

Loads the list of artists.
public LoadCategoriesAsync ( SearchSettings settings, SearchFilterEnum groupType ) : Task>
settings DataAccess.SearchSettings The filters to apply to the data.
groupType SearchFilterEnum
Результат Task>
        public async Task<List<SearchCategoryItem>> LoadCategoriesAsync(SearchSettings settings, SearchFilterEnum groupType) {
            List<SearchCategoryItem> Result = new List<SearchCategoryItem>();
            if (settings.ListIsInDatabase != false) {
                Result.Add(new SearchCategoryItem(SearchFilterEnum.All, null, "All"));
                if (groupType != SearchFilterEnum.Artist)
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.Artist, null, "By Artist"));
                if (groupType != SearchFilterEnum.Category)
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.Category, null, "By Category"));
                if (groupType != SearchFilterEnum.Element)
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.Element, null, "By Element"));
            }
            if (settings.ListIsInDatabase != true)
                Result.Add(new SearchCategoryItem(SearchFilterEnum.Files, null, "Other Files"));
            Result.Add(new SearchCategoryItem(SearchFilterEnum.None, null, "---"));

            if (groupType == SearchFilterEnum.Artist) {
                if (string.IsNullOrEmpty(settings.Search)) {
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.Artist, "", "No Artist"));
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.ArtistSingles, null, "Singles"));
                }
                Result.AddRange(await Task.Run(() => SearchVideoAccess.GetCategoryArtists(settings)));
            } else if (groupType == SearchFilterEnum.Category) {
                if (string.IsNullOrEmpty(settings.Search))
                    Result.Add(new SearchCategoryItem(SearchFilterEnum.Category, "", "No Category"));
                Result.AddRange(await Task.Run(() => SearchVideoAccess.GetCategoryCategories(settings)));
            } else if (groupType == SearchFilterEnum.Element)
                Result.AddRange(await Task.Run(() => SearchVideoAccess.GetCategoryElements(settings)));

            return Result;
        }