Example #1
0
        private async Task <SyncDetails> GetSyncDetailsAsync(IStudioClient studioClient)
        {
            var studio = await GetStudioAsync(studioClient);

            var syncDetails = await _syncDetailsRepository.FindByStudioAsync(studio.StudioId);

            if (syncDetails == null)
            {
                syncDetails = await _syncDetailsRepository.AddAsync(new SyncDetails
                {
                    Studio = studio
                });
            }

            return(syncDetails);
        }
Example #2
0
        public async Task SyncAsync(IStudioClient studioClient)
        {
            var studio = await GetStudioAsync(studioClient);

            var syncDetails = await _syncDetailsRepository.FindByStudioAsync(studio.StudioId);

            if (syncDetails == null)
            {
                var startFrom = await studioClient.GetPagesCountAsync();
                await SyncMoviesAsync(studioClient, startFrom, studio.StudioId, null);
            }
            else if (syncDetails.LastSyncPage - 1 >= 1)
            {
                var startFrom = (int)syncDetails.LastSyncPage - 1;
                await SyncMoviesAsync(studioClient, startFrom, studio.StudioId, syncDetails);
            }
            else
            {
                await AppendMoviesAsync(studioClient, studio.StudioId);
            }
        }