src/SSCMS.Core/Utils/SourceManager.cs

(完整代码) 1KB

using System.Threading.Tasks;
using SSCMS.Services;

namespace SSCMS.Core.Utils
{
    public static class SourceManager
	{
	    public const int User = -1;         //用户投稿
        public const int Preview = -99;     //预览
        public const int Default = 0;       //正常录入

        public static async Task<string> GetSourceNameAsync(IDatabaseManager databaseManager, int siteId, int referenceId, int sourceId)
        {
            if (sourceId == User)
            {
                return "用户投稿";
            }
            if (sourceId == Preview)
            {
                return "预览插入";
            }
            if (sourceId <= 0) return string.Empty;

            if (referenceId > 0)
            {
                var nodeNames = await databaseManager.ChannelRepository.GetChannelNameNavigationAsync(siteId, sourceId);
                if (!string.IsNullOrEmpty(nodeNames))
                {
                    return nodeNames;
                }
            }

            var sourceSiteId = await databaseManager.ChannelRepository.GetSiteIdAsync(sourceId);
            if (sourceSiteId == siteId)
            {
                var nodeNames = await databaseManager.ChannelRepository.GetChannelNameNavigationAsync(sourceSiteId, sourceId);
                if (!string.IsNullOrEmpty(nodeNames))
                {
                    return "从栏目转移:" + nodeNames;
                }
            }
            else
            {
                var siteInfo = await databaseManager.SiteRepository.GetAsync(sourceSiteId);
                if (siteInfo != null)
                {
                    return "从站点转移:" + siteInfo.SiteName;
                }
            }

            return string.Empty;
        }
    }
}

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

AI 解读

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

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