@@ -47,58 +47,53 @@ internal static Filter GenerateFromGroupFilter(HttpContext ctx, FilterPreset gf,
47
47
evaluatedResults = evaluator . EvaluateFilter ( gf , uid ) . ToList ( ) ;
48
48
}
49
49
50
- if ( evaluatedResults . Count ! = 0 )
50
+ if ( evaluatedResults . Count = = 0 )
51
51
{
52
- filter . size = evaluatedResults . Count ;
52
+ filter . viewed = 0 ;
53
+ filter . url = APIV2Helper . ConstructFilterIdUrl ( ctx , filter . id ) ;
53
54
54
- // Populate Random Art
55
+ return filter ;
56
+ }
55
57
56
- List < SVR_AnimeSeries > ? arts = null ;
57
- var seriesList = evaluatedResults . SelectMany ( a => a ) . Select ( RepoFactory . AnimeSeries . GetByID ) . WhereNotNull ( ) . ToList ( ) ;
58
- var groupsList = evaluatedResults . Select ( r => RepoFactory . AnimeGroup . GetByID ( r . Key ) ) . WhereNotNull ( ) . ToList ( ) ;
59
- if ( pic == 1 )
60
- {
61
- arts = seriesList . Where ( SeriesHasArt ) . ToList ( ) ;
58
+ filter . size = evaluatedResults . Count ;
62
59
63
- if ( arts . Count == 0 )
64
- {
65
- arts = seriesList ;
66
- }
67
- }
60
+ // Populate Random Art
61
+ List < SVR_AnimeSeries > ? arts = null ;
62
+ var seriesList = evaluatedResults . SelectMany ( a => a ) . Select ( RepoFactory . AnimeSeries . GetByID ) . WhereNotNull ( ) . ToList ( ) ;
63
+ var groupsList = evaluatedResults . Select ( r => RepoFactory . AnimeGroup . GetByID ( r . Key ) ) . Where ( a => a is { AnimeGroupParentID : null } ) . ToList ( ) ;
64
+ if ( pic == 1 )
65
+ {
66
+ arts = seriesList . Where ( SeriesHasArt ) . ToList ( ) ;
67
+
68
+ if ( arts . Count == 0 ) arts = seriesList ;
69
+ }
68
70
69
- if ( arts ? . Count > 0 )
71
+ if ( arts ? . Count > 0 )
72
+ {
73
+ var rand = new Random ( ) ;
74
+ var anime = arts [ rand . Next ( arts . Count ) ] ;
75
+ var backdrops = anime . GetImages ( ImageEntityType . Backdrop ) ;
76
+ if ( backdrops . Count > 0 )
70
77
{
71
- var rand = new Random ( ) ;
72
- var anime = arts [ rand . Next ( arts . Count ) ] ;
73
- var backdrops = anime . GetImages ( ImageEntityType . Backdrop ) ;
74
- if ( backdrops . Count > 0 )
78
+ var backdrop = backdrops [ rand . Next ( backdrops . Count ) ] ;
79
+ filter . art . fanart . Add ( new Art
75
80
{
76
- var backdrop = backdrops [ rand . Next ( backdrops . Count ) ] ;
77
- filter . art . fanart . Add ( new Art
78
- {
79
- index = 0 ,
80
- url = APIHelper . ConstructImageLinkFromTypeAndId ( ctx , backdrop . ImageType , backdrop . Source , backdrop . ID ) ,
81
- } ) ;
82
- }
83
-
84
- filter . art . thumb . Add ( new Art
85
- {
86
- index = 0 ,
87
- url = APIHelper . ConstructImageLinkFromTypeAndId ( ctx , ImageEntityType . Poster , DataSourceEnum . AniDB , anime . AniDB_ID ) ,
81
+ index = 0 , url = APIHelper . ConstructImageLinkFromTypeAndId ( ctx , backdrop . ImageType , backdrop . Source , backdrop . ID ) ,
88
82
} ) ;
89
83
}
90
84
91
- if ( level > 0 )
92
- {
93
- groups . AddRange ( groupsList . Select ( ag => Group . GenerateFromAnimeGroup ( ctx , ag , uid , noCast , noTag , level - 1 , all , filter . id , allPic , pic , tagFilter , evaluatedResults ? . FirstOrDefault ( a => a . Key == ag . AnimeGroupID ) ? . ToList ( ) ) ) ) ;
94
- }
95
-
96
- if ( groups . Count > 0 )
85
+ filter . art . thumb . Add ( new Art
97
86
{
98
- filter . groups = groups ;
99
- }
87
+ index = 0 , url = APIHelper . ConstructImageLinkFromTypeAndId ( ctx , ImageEntityType . Poster , DataSourceEnum . AniDB , anime . AniDB_ID ) ,
88
+ } ) ;
100
89
}
101
90
91
+ if ( level > 0 )
92
+ groups . AddRange ( groupsList . Select ( ag => Group . GenerateFromAnimeGroup ( ctx , ag , uid , noCast , noTag , level - 1 , all , filter . id , allPic , pic , tagFilter ,
93
+ evaluatedResults ? . FirstOrDefault ( a => a . Key == ag . AnimeGroupID ) ? . ToList ( ) ) ) ) ;
94
+
95
+ if ( groups . Count > 0 ) filter . groups = groups ;
96
+
102
97
filter . viewed = 0 ;
103
98
filter . url = APIV2Helper . ConstructFilterIdUrl ( ctx , filter . id ) ;
104
99
0 commit comments