src/SSCMS.Core/Utils/Serialization/Components/TemplateIe.cs

(开头部分) 6KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System.Collections.Generic;
using System.Threading.Tasks;
using Datory;
using SSCMS.Core.Utils.Serialization.Atom.Atom.Core;
using SSCMS.Enums;
using SSCMS.Models;
using SSCMS.Services;
using SSCMS.Utils;

namespace SSCMS.Core.Utils.Serialization.Components
{
	internal class TemplateIe
    {
        private readonly IPathManager _pathManager;
        private readonly IDatabaseManager _databaseManager;
        private readonly CacheUtils _caching;
        private readonly Site _site;
		private readonly string _filePath;

		public TemplateIe(IPathManager pathManager, IDatabaseManager databaseManager, CacheUtils caching, Site site, string filePath)
        {
            _pathManager = pathManager;
            _databaseManager = databaseManager;
            _caching = caching;
            _site = site;
			_filePath = filePath;
		}

		public async Task ExportTemplatesAsync()
		{
			var feed = AtomUtility.GetEmptyFeed();

            var summaries = await _databaseManager.TemplateRepository.GetSummariesAsync(_site.Id);
            foreach (var summary in summaries)
            {
                var template = await _databaseManager.TemplateRepository.GetAsync(summary.Id);
                var entry = await ExportTemplateInfoAsync(template);
                feed.Entries.Add(entry);
			}

			feed.Save(_filePath);
		}

        public async Task ExportTemplatesAsync(List<int> templateIdList)
        {
            var feed = AtomUtility.GetEmptyFeed();

            foreach (var templateId in templateIdList)
            {
				var template = await _databaseManager.TemplateRepository.GetAsync(templateId);
                var entry = await ExportTemplateInfoAsync(template);
                feed.Entries.Add(entry);
			}
            feed.Save(_filePath);
        }

		private async Task<AtomEntry> ExportTemplateInfoAsync(Template template)
		{
			var entry = AtomUtility.GetEmptyEntry();

后面还有 95 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。