コード例 #1
0
ファイル: SonarrService.cs プロジェクト: OFark/Compressarr
        public async Task <ServiceResult <List <string> > > GetValuesForPropertyAsync(string property)
        {
            using (logger.BeginScope("Get Values for Property"))
            {
                logger.LogDebug($"Property name: {property}");

                if (Series.Any())
                {
                    var        selectManySplit = property.Split("|");
                    IQueryable series          = Series.AsQueryable();

                    for (int i = 0; i < selectManySplit.Length - 1; i++)
                    {
                        series = series.SelectMany(selectManySplit[i]);
                    }

                    return(new ServiceResult <List <string> >(true, series.GroupBy(selectManySplit.Last()).OrderBy("Count() desc").ThenBy("Key").Select("Key").ToDynamicArray <string>().Where(x => !string.IsNullOrEmpty(x)).ToList()));
                }

                var seriesResult = await RequestSeries();

                return(new ServiceResult <List <string> >(seriesResult.Success, seriesResult.ErrorCode, seriesResult.ErrorMessage));
            }
        }