Esempio n. 1
0
        public async Task RenderProjectAsync()
        {
            await CleanOutputAsync();

            var tasksGroupContent = Task.Run(async() =>
            {
                var dataModel = await DataService.GetDataModelAsync();

                var pages     = await PageModelReaderService.LoadContentsIdsAsync();
                var pageTasks = pages.Select(pageId => ProcessPageByIdAsync(pageId, dataModel)).ToList();

                await Task.WhenAll(pageTasks).ConfigureAwait(false);
            });

            var tasksGroupAssets = Task.Run(async() =>
            {
                var assets = await AssetsReaderService.LoadContentsIdsAsync();

                var tasks = assets.Select(CopyAssetByIdAsync).ToList();

                await Task.WhenAll(tasks).ConfigureAwait(false);
            });

            await Task.WhenAll(tasksGroupContent, tasksGroupAssets).ConfigureAwait(false);
        }
Esempio n. 2
0
        private async Task CopyAssetByIdAsync(string id)
        {
            await LoggerService.WriteLogMessage($"{DateTime.Now.ToLongTimeString()}: Started copying of asset \"{id}\"");

            var content = await AssetsReaderService.LoadContentByIdAsync(id).ConfigureAwait(false);

            await AssetsWriterService.SaveContentAsync(id, content).ConfigureAwait(false);

            await LoggerService.WriteLogMessage($"{DateTime.Now.ToLongTimeString()}: Finished copying of asset \"{id}\"");
        }