Exemplo n.º 1
0
        public static ListItem GetListItem(ETranslateType type, bool selected)
        {
            var item = new ListItem(GetText(type), GetValue(type));

            if (selected)
            {
                item.Selected = true;
            }
            return(item);
        }
Exemplo n.º 2
0
 public static bool Equals(ETranslateType type, string typeStr)
 {
     if (string.IsNullOrEmpty(typeStr))
     {
         return(false);
     }
     if (string.Equals(GetValue(type).ToLower(), typeStr.ToLower()))
     {
         return(true);
     }
     return(false);
 }
Exemplo n.º 3
0
 public static string GetText(ETranslateType type)
 {
     if (type == ETranslateType.Content)
     {
         return("仅转移内容");
     }
     if (type == ETranslateType.Channel)
     {
         return("仅转移栏目");
     }
     if (type == ETranslateType.All)
     {
         return("转移栏目及内容");
     }
     throw new Exception();
 }
Exemplo n.º 4
0
 public static string GetValue(ETranslateType type)
 {
     if (type == ETranslateType.Content)
     {
         return("Content");
     }
     if (type == ETranslateType.Channel)
     {
         return("Channel");
     }
     if (type == ETranslateType.All)
     {
         return("All");
     }
     throw new Exception();
 }
Exemplo n.º 5
0
 public static bool Equals(string typeStr, ETranslateType type)
 {
     return(Equals(type, typeStr));
 }
Exemplo n.º 6
0
        private void TranslateChannelAndContent(List <NodeInfo> nodeInfoList, int targetPublishmentSystemID, int parentID, ETranslateType translateType, bool isChecked, int checkedLevel, List <string> nodeIndexNameList, List <string> filePathList)
        {
            if (nodeInfoList == null || nodeInfoList.Count == 0)
            {
                return;
            }

            if (nodeIndexNameList == null)
            {
                nodeIndexNameList = DataProvider.NodeDao.GetNodeIndexNameList(targetPublishmentSystemID);
            }

            if (filePathList == null)
            {
                filePathList = DataProvider.NodeDao.GetAllFilePathByPublishmentSystemId(targetPublishmentSystemID);
            }

            var targetPublishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(targetPublishmentSystemID);

            foreach (NodeInfo oldNodeInfo in nodeInfoList)
            {
                var nodeInfo = new NodeInfo(oldNodeInfo);
                nodeInfo.PublishmentSystemId = targetPublishmentSystemID;
                nodeInfo.ParentId            = parentID;
                nodeInfo.ContentNum          = 0;
                nodeInfo.ChildrenCount       = 0;

                nodeInfo.AddDate = DateTime.Now;
                if (IsDeleteAfterTranslate.Visible && EBooleanUtils.Equals(IsDeleteAfterTranslate.SelectedValue, EBoolean.True))
                {
                    nodeIndexNameList.Add(nodeInfo.NodeIndexName);
                }

                else if (!string.IsNullOrEmpty(nodeInfo.NodeIndexName) && nodeIndexNameList.IndexOf(nodeInfo.NodeIndexName) == -1)
                {
                    nodeIndexNameList.Add(nodeInfo.NodeIndexName);
                }
                else
                {
                    nodeInfo.NodeIndexName = string.Empty;
                }

                if (!string.IsNullOrEmpty(nodeInfo.FilePath) && filePathList.IndexOf(nodeInfo.FilePath) == -1)
                {
                    filePathList.Add(nodeInfo.FilePath);
                }
                else
                {
                    nodeInfo.FilePath = string.Empty;
                }

                var insertedNodeID = DataProvider.NodeDao.InsertNodeInfo(nodeInfo);

                if (translateType == ETranslateType.All)
                {
                    TranslateContent(targetPublishmentSystemInfo, oldNodeInfo.NodeId, insertedNodeID, isChecked, checkedLevel);
                }

                if (insertedNodeID != 0)
                {
                    var orderByString        = ETaxisTypeUtils.GetChannelOrderByString(ETaxisType.OrderByTaxis);
                    var childrenNodeInfoList = DataProvider.NodeDao.GetNodeInfoList(oldNodeInfo, 0, "", EScopeType.Children, orderByString);
                    if (childrenNodeInfoList != null && childrenNodeInfoList.Count > 0)
                    {
                        TranslateChannelAndContent(childrenNodeInfoList, targetPublishmentSystemID, insertedNodeID, translateType, isChecked, checkedLevel, nodeIndexNameList, filePathList);
                    }

                    if (isChecked)
                    {
                        CreateManager.CreateChannel(targetPublishmentSystemInfo.PublishmentSystemId, insertedNodeID);
                    }
                }
            }
        }
        private void TranslateChannelAndContent(List <ChannelInfo> nodeInfoList, int targetSiteId, int parentId, ETranslateType translateType, List <string> nodeIndexNameList, List <string> filePathList)
        {
            if (nodeInfoList == null || nodeInfoList.Count == 0)
            {
                return;
            }

            if (nodeIndexNameList == null)
            {
                nodeIndexNameList = DataProvider.ChannelDao.GetIndexNameList(targetSiteId);
            }

            if (filePathList == null)
            {
                filePathList = DataProvider.ChannelDao.GetAllFilePathBySiteId(targetSiteId);
            }

            foreach (var oldNodeInfo in nodeInfoList)
            {
                var nodeInfo = new ChannelInfo(oldNodeInfo)
                {
                    SiteId        = targetSiteId,
                    ParentId      = parentId,
                    ChildrenCount = 0,
                    AddDate       = DateTime.Now
                };

                if (RblIsDeleteAfterTranslate.Visible && EBooleanUtils.Equals(RblIsDeleteAfterTranslate.SelectedValue, EBoolean.True))
                {
                    nodeIndexNameList.Add(nodeInfo.IndexName);
                }

                else if (!string.IsNullOrEmpty(nodeInfo.IndexName) && nodeIndexNameList.IndexOf(nodeInfo.IndexName) == -1)
                {
                    nodeIndexNameList.Add(nodeInfo.IndexName);
                }
                else
                {
                    nodeInfo.IndexName = string.Empty;
                }

                if (!string.IsNullOrEmpty(nodeInfo.FilePath) && filePathList.IndexOf(nodeInfo.FilePath) == -1)
                {
                    filePathList.Add(nodeInfo.FilePath);
                }
                else
                {
                    nodeInfo.FilePath = string.Empty;
                }

                var targetChannelId = DataProvider.ChannelDao.Insert(nodeInfo);

                if (translateType == ETranslateType.All)
                {
                    TranslateContent(oldNodeInfo.Id, targetSiteId, targetChannelId);
                }

                if (targetChannelId != 0)
                {
                    //var orderByString = ETaxisTypeUtils.GetChannelOrderByString(ETaxisType.OrderByTaxis);
                    //var childrenNodeInfoList = DataProvider.ChannelDao.GetChannelInfoList(oldNodeInfo, 0, "", EScopeType.Children, orderByString);

                    var channelIdList        = ChannelManager.GetChannelIdList(oldNodeInfo, EScopeType.Children, string.Empty, string.Empty, string.Empty);
                    var childrenNodeInfoList = new List <ChannelInfo>();
                    foreach (var channelId in channelIdList)
                    {
                        childrenNodeInfoList.Add(ChannelManager.GetChannelInfo(oldNodeInfo.SiteId, channelId));
                    }

                    if (channelIdList.Count > 0)
                    {
                        TranslateChannelAndContent(childrenNodeInfoList, targetSiteId, targetChannelId, translateType, nodeIndexNameList, filePathList);
                    }

                    CreateManager.CreateChannel(targetSiteId, targetChannelId);
                }
            }
        }