@@ -307,37 +307,46 @@ public async Task OnGetAsync()
307307 {
308308 var githubClient = new GitHubClient ( new ProductHeaderValue ( "YAF.NET" ) ) ;
309309
310- await this . GetDnnReleasesAsync ( githubClient ) ;
310+ var releases = new List < Release > ( ) ;
311+ var sampleAppReleases = new List < Release > ( ) ;
312+
313+ if ( this . Get < IDataCache > ( ) . Get ( "ReleaseNetCore" ) == null )
314+ {
315+ releases = [ .. await githubClient . Repository . Release . GetAll ( "YAFNET" , "YAFNET" ) ] ;
316+ }
317+
318+ if ( this . Get < IDataCache > ( ) . Get ( "SampleApplicationRelease" ) == null )
319+ {
320+ sampleAppReleases = [ .. await githubClient . Repository . Release . GetAll ( "YAFNET" , "YAF.SampleWebApplication" ) ] ;
321+ }
311322
312- var sampleAppReleases = await githubClient . Repository . Release . GetAll ( "YAFNET" , "YAF.SampleWebApplication" ) ;
323+ await this . GetDnnReleasesAsync ( githubClient ) ;
313324
314325 await this . GetSampleApplicationReleasesAsync ( sampleAppReleases ) ;
315326
316327 await this . GetSampleAppReleasesAsync ( sampleAppReleases ) ;
317328
318- await this . GetMySqlReleasesAsync ( githubClient ) ;
329+ this . GetNetCoreReleases ( releases ) ;
319330
320- await this . GetMsSqlReleasesAsync ( githubClient ) ;
331+ this . GetMySqlReleases ( releases ) ;
321332
322- await this . GetSqliteReleasesAsync ( githubClient ) ;
333+ this . GetMsSqlReleases ( releases ) ;
323334
324- await this . GetPostgreSqlReleasesAsync ( githubClient ) ;
335+ this . GetSqliteReleases ( releases ) ;
325336
326- await this . GetNetCoreReleasesAsync ( githubClient ) ;
337+ this . GetPostgreSqlReleases ( releases ) ;
327338 }
328339
329340 /// <summary>
330341 /// Gets the net core releases.
331342 /// </summary>
332- /// <param name="githubClient"> </param>
333- private async Task GetNetCoreReleasesAsync ( GitHubClient githubClient )
343+ /// <param name="releases">All yaf releases </param>
344+ private void GetNetCoreReleases ( List < Release > releases )
334345 {
335346 Release release ;
336347
337348 if ( this . Get < IDataCache > ( ) . Get ( "ReleaseNetCore" ) == null )
338349 {
339- var releases = await githubClient . Repository . Release . GetAll ( "YAFNET" , "YAFNET" ) ;
340-
341350 release = releases . First ( r => r . TagName . StartsWith ( "v4" ) && ! r . Prerelease ) ;
342351
343352 this . Get < IDataCache > ( ) . Set ( "ReleaseNetCore" , release ) ;
@@ -366,14 +375,14 @@ private async Task GetNetCoreReleasesAsync(GitHubClient githubClient)
366375 /// <summary>
367376 /// Gets my SQL releases.
368377 /// </summary>
369- /// <param name="githubClient"> </param>
370- private async Task GetMySqlReleasesAsync ( GitHubClient githubClient )
378+ /// <param name="releases">All yaf releases </param>
379+ private void GetMySqlReleases ( List < Release > releases )
371380 {
372381 Release release ;
373382
374383 if ( this . Get < IDataCache > ( ) . Get ( "Release" ) == null )
375384 {
376- release = await githubClient . Repository . Release . GetLatest ( "YAFNET" , "YAFNET" ) ;
385+ release = releases . First ( r => r . TagName . StartsWith ( "v3" ) && ! r . Prerelease ) ;
377386 this . Get < IDataCache > ( ) . Set ( "Release" , release ) ;
378387 }
379388 else
@@ -393,14 +402,14 @@ private async Task GetMySqlReleasesAsync(GitHubClient githubClient)
393402 /// <summary>
394403 /// Gets the ms SQL releases.
395404 /// </summary>
396- /// <param name="githubClient"> </param>
397- private async Task GetMsSqlReleasesAsync ( GitHubClient githubClient )
405+ /// <param name="releases">All yaf releases </param>
406+ private void GetMsSqlReleases ( List < Release > releases )
398407 {
399408 Release release ;
400409
401410 if ( this . Get < IDataCache > ( ) . Get ( "Release" ) == null )
402411 {
403- release = await githubClient . Repository . Release . GetLatest ( "YAFNET" , "YAFNET" ) ;
412+ release = releases . First ( r => r . TagName . StartsWith ( "v3" ) && ! r . Prerelease ) ;
404413 this . Get < IDataCache > ( ) . Set ( "Release" , release ) ;
405414 }
406415 else
@@ -417,14 +426,14 @@ private async Task GetMsSqlReleasesAsync(GitHubClient githubClient)
417426 /// <summary>
418427 /// Gets the sqlite releases.
419428 /// </summary>
420- /// <param name="githubClient"> </param>
421- private async Task GetSqliteReleasesAsync ( GitHubClient githubClient )
429+ /// <param name="releases">All yaf releases </param>
430+ private void GetSqliteReleases ( List < Release > releases )
422431 {
423432 Release release ;
424433
425434 if ( this . Get < IDataCache > ( ) . Get ( "Release" ) == null )
426435 {
427- release = await githubClient . Repository . Release . GetLatest ( "YAFNET" , "YAFNET" ) ;
436+ release = releases . First ( r => r . TagName . StartsWith ( "v3" ) && ! r . Prerelease ) ;
428437 this . Get < IDataCache > ( ) . Set ( "Release" , release ) ;
429438 }
430439 else
@@ -441,14 +450,14 @@ private async Task GetSqliteReleasesAsync(GitHubClient githubClient)
441450 /// <summary>
442451 /// Gets the postgre SQL releases.
443452 /// </summary>
444- /// <param name="githubClient"> </param>
445- private async Task GetPostgreSqlReleasesAsync ( GitHubClient githubClient )
453+ /// <param name="releases">All yaf releases </param>
454+ private void GetPostgreSqlReleases ( List < Release > releases )
446455 {
447456 Release release ;
448457
449458 if ( this . Get < IDataCache > ( ) . Get ( "Release" ) == null )
450459 {
451- release = await githubClient . Repository . Release . GetLatest ( "YAFNET" , "YAFNET" ) ;
460+ release = releases . First ( r => r . TagName . StartsWith ( "v3" ) && ! r . Prerelease ) ;
452461 this . Get < IDataCache > ( ) . Set ( "Release" , release ) ;
453462 }
454463 else
0 commit comments