using Sony.Filtr.Contracts.Entities; using System; using System.Threading.Tasks; namespace Sony.Filtr.PlaylistSynchronization.Synchronizer { public abstract class SynchronizerBase : ISynchronizer { public async Task CopyToPlaylistAsync(GenericPlaylist genericPlaylist, Data.PlaylistSynchronization playlistSynchronization, ServiceAccount serviceAccount) { try { return await this.CopyToPlaylistInternalAsync(genericPlaylist, playlistSynchronization, serviceAccount); } catch (Exception ex) { return PlaylistSynchronizationResult.FromException(ex); } } protected abstract Task CopyToPlaylistInternalAsync(GenericPlaylist genericPlaylist, Data.PlaylistSynchronization playlistSynchronization, ServiceAccount serviceAccount); } }