public async Task Execute() { var updates = await _deezerApiService.GetDeezerApi().Genre.GetNewReleasesForGenre(0, CancellationToken.None, 0, 200); if (updates != null) { var updatesList = updates.ToList(); var latestAlbum = updatesList.FirstOrDefault(); var lastChangeId = await _configurationService.Get <ulong>("LastChangeId"); if (latestAlbum != null) { if (latestAlbum.Id != lastChangeId) { foreach (var album in updatesList) { if (latestAlbum.Id == lastChangeId) { break; } var dbArtist = await _dataRepository.GetArtist(album.Artist.Id); if (dbArtist != null) { _deemixService.Download($"https://www.deezer.com/en/album/{album.Id}", dbArtist.Folder); } } } await _configurationService.Set("LastChangeId", latestAlbum.Id); } } }
public async Task Execute(PerformContext context) { var overallProgressbar = context.WriteProgressBar(); var updates = await _deezerApiService.GetDeezerApi().Genre.GetNewReleasesForGenre(0, CancellationToken.None, 0, 200); if (updates != null) { var updatesList = updates.ToList(); var latestAlbum = updatesList.FirstOrDefault(); var lastChangeId = await _configurationService.Get <ulong>("LastChangeId"); if (latestAlbum != null) { if (latestAlbum.Id != lastChangeId) { foreach (var album in updatesList.WithProgress(overallProgressbar)) { if (latestAlbum.Id == lastChangeId) { break; } var dbArtist = await _dataRepository.GetArtist(album.Artist.Id); if (dbArtist != null) { _deemixService.Download($"https://www.deezer.com/en/album/{album.Id}", dbArtist.Folder); dbArtist.Updated = DateTime.UtcNow; await _dataRepository.UpdateArtist(dbArtist); } } } await _configurationService.Set("LastChangeId", latestAlbum.Id); } } }