Пример #1
0
 public Task <bool> TrySaveFanArt(Guid mediaItemId, string title, string fanArtType, TrySaveFanArtAsyncDelegate saveDlgt)
 {
     throw new NotImplementedException();
 }
Пример #2
0
        public async Task <bool> TrySaveFanArt(Guid mediaItemId, string title, string fanArtType, TrySaveFanArtAsyncDelegate saveDlgt)
        {
            string fanArtCacheDirectory   = GetFanArtDirectory(mediaItemId);
            string fanArtTypeSubDirectory = GetFanArtTypeDirectory(fanArtCacheDirectory, fanArtType);

            using (var writer = await _fanArtSync.WriterLockAsync(mediaItemId).ConfigureAwait(false))
            {
                if (!await InitCache(fanArtCacheDirectory, fanArtTypeSubDirectory, title).ConfigureAwait(false))
                {
                    return(false);
                }
                FanArtCount currentCount = await _fanArtCounts.GetValue(CreateFanArtTypeId(mediaItemId, fanArtType), _ => CreateFanArtCount(mediaItemId, fanArtType)).ConfigureAwait(false);

                if (currentCount.Count < GetMaxFanArtCount(fanArtType) && await saveDlgt(fanArtTypeSubDirectory).ConfigureAwait(false))
                {
                    currentCount.Count++;
                    return(true);
                }
            }
            return(false);
        }