using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using MoreLinq; using PetaPoco.Business; using Sony.Filtr.Contracts.Entities; namespace Sony.Filtr.Core.SpotifyTrackLink { public class SpotifyLinkedTrackFactory { public async Task SaveSpotifyLinkedTracksAsync(List linkedTracks) { PetaPocoRepository.Instance.Db.BulkInsert(linkedTracks); } public async Task> GetSpotifyLinkedTracksAsync() { return PetaPocoRepository.ReadOnlyInstance.Fetch(); } public async Task> GetSpotifyLinkedTracksAsync(string region, List trackUris) { List allSpotifyLinkedTracks = new List(); foreach (var trackUriBatch in trackUris.Batch(100)) { allSpotifyLinkedTracks.AddRange(PetaPocoRepository.ReadOnlyInstance.Fetch("WHERE strRegion=@0 AND strTrackUri IN (@1)", region, trackUriBatch)); } return allSpotifyLinkedTracks; } } }