Пример #1
0
        public bool IsExists(CreateTaskInfo info)
        {
            if (info == null)
            {
                return(false);
            }

            var exists = false;

            const string sqlString = @"SELECT ID FROM siteserver_CreateTask WHERE CreateType = @CreateType AND PublishmentSystemID = @PublishmentSystemID AND ChannelID = @ChannelID AND ContentID = @ContentID AND TemplateID = @TemplateID";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmCreateType, EDataType.NVarChar, 50, ECreateTypeUtils.GetValue(info.CreateType)),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmChannelId, EDataType.Integer, info.ChannelID),
                GetParameter(ParmContentId, EDataType.Integer, info.ContentID),
                GetParameter(ParmTemplateId, EDataType.Integer, info.TemplateID),
            };

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                if (rdr.Read() && !rdr.IsDBNull(0))
                {
                    exists = true;
                }
                rdr.Close();
            }

            return(exists);
        }
Пример #2
0
        public CreateTaskSummary GetTaskSummary(int publishmentSystemId)
        {
            int indexCount;
            int channelsCount;
            int contentsCount;
            int filesCount;

            DataProvider.CreateTaskDao.GetCount(publishmentSystemId, out indexCount, out channelsCount, out contentsCount, out filesCount);
            var pendingTasks = DataProvider.CreateTaskDao.GetList(publishmentSystemId, 10);
            var taskLogs     = DataProvider.CreateTaskLogDao.GetList(publishmentSystemId, 20);

            var list = new List <CreateTaskSummaryItem>();

            for (var i = pendingTasks.Count - 1; i >= 0; i--)
            {
                var taskInfo    = pendingTasks[i];
                var summaryItem = new CreateTaskSummaryItem(ECreateTypeUtils.GetText(taskInfo.CreateType), CreateTaskManager.GetTaskName(taskInfo), string.Empty, false, false, string.Empty);
                list.Add(summaryItem);
            }

            for (var i = taskLogs.Count - 1; i >= 0; i--)
            {
                var logInfo     = taskLogs[i];
                var summaryItem = new CreateTaskSummaryItem(ECreateTypeUtils.GetText(logInfo.CreateType), logInfo.TaskName, logInfo.TimeSpan, true, logInfo.IsSuccess, logInfo.ErrorMessage);
                list.Add(summaryItem);
            }

            var summary = new CreateTaskSummary(list, indexCount, channelsCount, contentsCount, filesCount);

            return(summary);
        }
Пример #3
0
 public CreateTaskSummaryItem(CreateTaskInfo taskInfo, string timeSpan, bool isExecuting, bool isPending, bool isSuccess, string errorMessage)
 {
     siteId            = taskInfo.SiteId;
     channelId         = taskInfo.ChannelId;
     contentId         = taskInfo.ContentId;
     templateId        = taskInfo.TemplateId;
     type              = ECreateTypeUtils.GetText(taskInfo.CreateType);
     name              = taskInfo.Name;
     this.timeSpan     = timeSpan;
     this.isExecuting  = isExecuting;
     this.isPending    = isPending;
     this.isSuccess    = isSuccess;
     this.errorMessage = errorMessage;
 }
Пример #4
0
 public CreateTaskSummaryItem(CreateTaskLogInfo logInfo)
 {
     siteId       = logInfo.SiteId;
     channelId    = logInfo.ChannelId;
     contentId    = logInfo.ContentId;
     templateId   = logInfo.TemplateId;
     type         = ECreateTypeUtils.GetText(logInfo.CreateType);
     name         = logInfo.TaskName;
     timeSpan     = logInfo.TimeSpan;
     isExecuting  = false;
     isPending    = false;
     isSuccess    = logInfo.IsSuccess;
     errorMessage = logInfo.ErrorMessage;
 }
Пример #5
0
        public void Insert(CreateTaskInfo info)
        {
            const string sqlString = "INSERT INTO siteserver_CreateTask (CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID) VALUES (@CreateType, @PublishmentSystemID, @ChannelID, @ContentID, @TemplateID)";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmCreateType, EDataType.NVarChar, 50, ECreateTypeUtils.GetValue(info.CreateType)),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmChannelId, EDataType.Integer, info.ChannelID),
                GetParameter(ParmContentId, EDataType.Integer, info.ContentID),
                GetParameter(ParmTemplateId, EDataType.Integer, info.TemplateID),
            };

            ExecuteNonQuery(sqlString, parms);
            ServiceManager.ClearIsPendingCreateCache();
        }
Пример #6
0
        public List <CreateTaskLogInfo> GetList(int publishmentSystemId, int totalNum)
        {
            var list = new List <CreateTaskLogInfo>();

            if (publishmentSystemId > 0)
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, TaskName, TimeSpan, IsSuccess, ErrorMessage, AddDate FROM siteserver_CreateTaskLog WHERE PublishmentSystemID = @PublishmentSystemID";
                string sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTaskLog", "ID, CreateType, PublishmentSystemID, TaskName, TimeSpan, IsSuccess, ErrorMessage, AddDate", "WHERE PublishmentSystemID = @PublishmentSystemID", totalNum);

                var parms = new IDataParameter[]
                {
                    GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId)
                };

                using (var rdr = ExecuteReader(sqlString, parms))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskLogInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }
            else
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, TaskName, TimeSpan, IsSuccess, ErrorMessage, AddDate FROM siteserver_CreateTaskLog";
                var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTaskLog", "ID, CreateType, PublishmentSystemID, TaskName, TimeSpan, IsSuccess, ErrorMessage, AddDate", string.Empty, totalNum);

                using (var rdr = ExecuteReader(sqlString))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskLogInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }

            return(list);
        }
Пример #7
0
        public List <CreateTaskInfo> GetList(int publishmentSystemId, int totalNum)
        {
            var list = new List <CreateTaskInfo>();

            if (publishmentSystemId > 0)
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask WHERE PublishmentSystemID = @PublishmentSystemID ORDER BY ID DESC";
                var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "WHERE PublishmentSystemID = @PublishmentSystemID ORDER BY ID DESC", totalNum);

                var parms = new IDataParameter[]
                {
                    GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId)
                };

                using (var rdr = ExecuteReader(sqlString, parms))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }
            else
            {
                //string sqlString =
                //    $"SELECT TOP {totalNum} ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask ORDER BY ID DESC";
                var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID DESC", totalNum);

                using (var rdr = ExecuteReader(sqlString))
                {
                    while (rdr.Read())
                    {
                        var i    = 0;
                        var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                        list.Add(info);
                    }
                    rdr.Close();
                }
            }

            return(list);
        }
Пример #8
0
        public static bool Execute(TaskInfo taskInfo)
        {
            var taskCreateInfo = new TaskCreateInfo(taskInfo.ServiceParameters);

            if (!string.IsNullOrEmpty(taskCreateInfo.CreateTypes))
            {
                var createTypeArrayList = TranslateUtils.StringCollectionToStringList(taskCreateInfo.CreateTypes);
                var createChannel       = createTypeArrayList.Contains(ECreateTypeUtils.GetValue(ECreateType.Channel));
                var createContent       = createTypeArrayList.Contains(ECreateTypeUtils.GetValue(ECreateType.Content));
                var createFile          = createTypeArrayList.Contains(ECreateTypeUtils.GetValue(ECreateType.File));
                if (taskInfo.PublishmentSystemID != 0)
                {
                    List <int> nodeIdList;
                    if (taskCreateInfo.IsCreateAll)
                    {
                        nodeIdList = DataProvider.NodeDao.GetNodeIdListByPublishmentSystemId(taskInfo.PublishmentSystemID);
                    }
                    else
                    {
                        nodeIdList = TranslateUtils.StringCollectionToIntList(taskCreateInfo.ChannelIDCollection);
                    }

                    Create(createChannel, createContent, createFile, taskInfo, taskInfo.PublishmentSystemID, nodeIdList);
                }
                else
                {
                    List <int> publishmentSystemIdArrayList;
                    if (taskCreateInfo.IsCreateAll)
                    {
                        publishmentSystemIdArrayList = PublishmentSystemManager.GetPublishmentSystemIdList();
                    }
                    else
                    {
                        publishmentSystemIdArrayList = TranslateUtils.StringCollectionToIntList(taskCreateInfo.ChannelIDCollection);
                    }
                    foreach (var publishmentSystemId in publishmentSystemIdArrayList)
                    {
                        var nodeIdList = DataProvider.NodeDao.GetNodeIdListByPublishmentSystemId(publishmentSystemId);
                        Create(createChannel, createContent, createFile, taskInfo, publishmentSystemId, nodeIdList);
                    }
                }
            }

            return(true);
        }
Пример #9
0
        public CreateTaskInfo GetLastPendingTask()
        {
            CreateTaskInfo info = null;

            //var sqlString = "SELECT TOP 1 ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID FROM siteserver_CreateTask ORDER BY ID";
            var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID", 1);

            using (var rdr = ExecuteReader(sqlString))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                }
                rdr.Close();
            }
            return(info);
        }
Пример #10
0
        /// <summary>
        /// 一次获取多个任务
        /// </summary>
        /// <param name="topNum"></param>
        /// <returns></returns>
        public List <CreateTaskInfo> GetLastPendingTasks(int topNum)
        {
            List <CreateTaskInfo> list = null;

            var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID", topNum);

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new CreateTaskInfo(GetInt(rdr, i++), ECreateTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }
            return(list);
        }
Пример #11
0
        public void Insert(CreateTaskLogInfo log)
        {
            DeleteExcess90Days();

            var sqlString = "INSERT INTO siteserver_CreateTaskLog(CreateType, PublishmentSystemID, TaskName, TimeSpan, IsSuccess, ErrorMessage, AddDate) VALUES (@CreateType, @PublishmentSystemID, @TaskName, @TimeSpan, @IsSuccess, @ErrorMessage, @AddDate)";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmCreateType, EDataType.NVarChar, 50, ECreateTypeUtils.GetValue(log.CreateType)),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, log.PublishmentSystemID),
                GetParameter(ParmTaskName, EDataType.NVarChar, 50, log.TaskName),
                GetParameter(ParmTimeSpan, EDataType.NVarChar, 50, log.TimeSpan),
                GetParameter(ParmIsSuccess, EDataType.VarChar, 18, log.IsSuccess.ToString()),
                GetParameter(ParmErrorMessage, EDataType.NVarChar, 255, log.ErrorMessage),
                GetParameter(ParmAddDate, EDataType.DateTime, log.AddDate)
            };

            ExecuteNonQuery(sqlString, parms);
        }
Пример #12
0
        void rptContents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var publishmentSystemId = SqlUtils.EvalInt(e.Item.DataItem, "PublishmentSystemID");
                var taskName            = SqlUtils.EvalString(e.Item.DataItem, "TaskName");
                var createType          = ECreateTypeUtils.GetEnumType(SqlUtils.EvalString(e.Item.DataItem, "CreateType"));
                var timeSpan            = SqlUtils.EvalString(e.Item.DataItem, "TimeSpan");

                var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId);
                if (publishmentSystemInfo == null)
                {
                    e.Item.Visible = false;
                    return;
                }

                var addDate      = SqlUtils.EvalDateTime(e.Item.DataItem, "AddDate");
                var isSuccess    = SqlUtils.EvalString(e.Item.DataItem, "IsSuccess");
                var errorMessage = SqlUtils.EvalString(e.Item.DataItem, "ErrorMessage");

                var ltlPublishmentSystem = (Literal)e.Item.FindControl("ltlPublishmentSystem");
                var ltlTaskName          = (Literal)e.Item.FindControl("ltlTaskName");
                var ltlCreateType        = (Literal)e.Item.FindControl("ltlCreateType");
                var ltlTimeSpan          = (Literal)e.Item.FindControl("ltlTimeSpan");
                var ltlAddDate           = (Literal)e.Item.FindControl("ltlAddDate");
                var ltlIsSuccess         = (Literal)e.Item.FindControl("ltlIsSuccess");
                var ltlErrorMessage      = (Literal)e.Item.FindControl("ltlErrorMessage");

                ltlPublishmentSystem.Text = publishmentSystemInfo.PublishmentSystemName;
                ltlTaskName.Text          = taskName;
                ltlTimeSpan.Text          = timeSpan;
                ltlCreateType.Text        = ECreateTypeUtils.GetText(createType);

                ltlAddDate.Text      = DateUtils.GetDateAndTimeString(addDate);
                ltlIsSuccess.Text    = StringUtils.GetTrueOrFalseImageHtml(isSuccess);
                ltlErrorMessage.Text = errorMessage;
            }
        }
Пример #13
0
        public CreateTaskSummary GetTaskSummary(int publishmentSystemId)
        {
            var pendingTasks = GetPendingTasks(publishmentSystemId);
            var taskLogs     = GetTaskLogs(publishmentSystemId);

            var list = new List <CreateTaskSummaryItem>();

            var indexCount    = 0;
            var channelsCount = 0;
            var contentsCount = 0;
            var filesCount    = 0;

            foreach (var taskInfo in pendingTasks)
            {
                if (taskInfo.CreateType == ECreateType.Index)
                {
                    indexCount++;
                }
                else if (taskInfo.CreateType == ECreateType.Channel)
                {
                    channelsCount++;
                }
                else if (taskInfo.CreateType == ECreateType.Content)
                {
                    contentsCount++;
                }
                else if (taskInfo.CreateType == ECreateType.File)
                {
                    filesCount++;
                }
                else if (taskInfo.CreateType == ECreateType.AllContent)
                {
                    contentsCount++;
                    //NodeInfo nodeInfo = NodeManager.GetNodeInfo(publishmentSystemID, taskInfo.ChannelID);
                    //contentsCount += nodeInfo.ContentNum;
                }
            }

            var count = 0;

            for (var i = pendingTasks.Count - 1; i >= 0; i--)
            {
                if (count > 10)
                {
                    break;
                }
                var taskInfo    = pendingTasks[i];
                var summaryItem = new CreateTaskSummaryItem(ECreateTypeUtils.GetText(taskInfo.CreateType), CreateTaskManager.GetTaskName(taskInfo), string.Empty, false, false, string.Empty);
                list.Add(summaryItem);
            }

            count = 0;
            for (var i = taskLogs.Count - 1; i >= 0; i--)
            {
                if (count > 20)
                {
                    break;
                }
                var logInfo     = taskLogs[i];
                var summaryItem = new CreateTaskSummaryItem(ECreateTypeUtils.GetText(logInfo.CreateType), logInfo.TaskName, logInfo.TimeSpan, true, logInfo.IsSuccess, logInfo.ErrorMessage);
                list.Add(summaryItem);
            }

            var summary = new CreateTaskSummary(list, indexCount, channelsCount, contentsCount, filesCount);

            return(summary);
        }
Пример #14
0
        public void GetCount(int publishmentSystemId, out int indexCount, out int channelsCount, out int contentsCount, out int filesCount)
        {
            indexCount    = 0;
            channelsCount = 0;
            contentsCount = 0;
            filesCount    = 0;

            if (publishmentSystemId > 0)
            {
                const string sqlString = "SELECT COUNT(*) AS TOTAL, CreateType FROM siteserver_CreateTask WHERE PublishmentSystemID = @PublishmentSystemID GROUP BY CreateType";

                var parms = new IDataParameter[]
                {
                    GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId)
                };

                using (var rdr = ExecuteReader(sqlString, parms))
                {
                    while (rdr.Read())
                    {
                        var total      = GetInt(rdr, 0);
                        var createType = ECreateTypeUtils.GetEnumType(GetString(rdr, 1));

                        if (createType == ECreateType.Index)
                        {
                            indexCount += total;
                        }
                        else if (createType == ECreateType.Channel)
                        {
                            channelsCount += total;
                        }
                        else if (createType == ECreateType.Content)
                        {
                            contentsCount += total;
                        }
                        else if (createType == ECreateType.File)
                        {
                            filesCount += total;
                        }
                        else if (createType == ECreateType.AllContent)
                        {
                            contentsCount += total;
                        }
                    }
                    rdr.Close();
                }
            }
            else
            {
                const string sqlString = "SELECT COUNT(*) AS TOTAL, CreateType FROM siteserver_CreateTask GROUP BY CreateType";

                using (var rdr = ExecuteReader(sqlString))
                {
                    while (rdr.Read())
                    {
                        var total      = GetInt(rdr, 0);
                        var createType = ECreateTypeUtils.GetEnumType(GetString(rdr, 1));

                        if (createType == ECreateType.Index)
                        {
                            indexCount += total;
                        }
                        else if (createType == ECreateType.Channel)
                        {
                            channelsCount += total;
                        }
                        else if (createType == ECreateType.Content)
                        {
                            contentsCount += total;
                        }
                        else if (createType == ECreateType.File)
                        {
                            filesCount += total;
                        }
                        else if (createType == ECreateType.AllContent)
                        {
                            contentsCount += total;
                        }
                    }
                    rdr.Close();
                }
            }
        }
Пример #15
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            _serviceType = EServiceTypeUtils.GetEnumType(Body.GetQueryString("ServiceType"));
            if (!IsPostBack)
            {
                EFrequencyTypeUtils.AddListItems(FrequencyType, false);
                for (var i = 1; i < 32; i++)
                {
                    StartDay.Items.Add(new ListItem(i + "日", i.ToString()));
                }
                for (var i = 1; i < 8; i++)
                {
                    var weekName = string.Empty;
                    if (i == 1)
                    {
                        weekName = "星期一";
                    }
                    else if (i == 2)
                    {
                        weekName = "星期二";
                    }
                    else if (i == 3)
                    {
                        weekName = "星期三";
                    }
                    else if (i == 4)
                    {
                        weekName = "星期四";
                    }
                    else if (i == 5)
                    {
                        weekName = "星期五";
                    }
                    else if (i == 6)
                    {
                        weekName = "星期六";
                    }
                    else if (i == 7)
                    {
                        weekName = "星期日";
                    }
                    StartWeekday.Items.Add(new ListItem(weekName, i.ToString()));
                }
                for (var i = 0; i < 24; i++)
                {
                    StartHour.Items.Add(new ListItem(i + "点", i.ToString()));
                }

                var listItem = new ListItem("周", "5040");
                PeriodIntervalType.Items.Add(listItem);
                listItem = new ListItem("天", "720");
                PeriodIntervalType.Items.Add(listItem);
                listItem = new ListItem("小时", "12");
                PeriodIntervalType.Items.Add(listItem);
                listItem          = new ListItem("分钟", "1");
                listItem.Selected = true;
                PeriodIntervalType.Items.Add(listItem);

                if (_serviceType == EServiceType.Create)
                {
                    PlaceHolder_Create.Visible = true;

                    if (PublishmentSystemId != 0)
                    {
                        NodeManager.AddListItems(CreateChannelIDCollection.Items, PublishmentSystemInfo, false, true, Body.AdministratorName);
                    }
                    else
                    {
                        var arraylist = PublishmentSystemManager.GetPublishmentSystemIdList();
                        foreach (int publishmentSystemID in arraylist)
                        {
                            var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemID);
                            var item = new ListItem(publishmentSystemInfo.PublishmentSystemName, publishmentSystemInfo.PublishmentSystemId.ToString());
                            CreateChannelIDCollection.Items.Add(item);
                        }
                    }

                    ECreateTypeUtils.AddListItems(CreateCreateTypes);
                }
                else if (_serviceType == EServiceType.Gather)
                {
                    PlaceHolder_Gather.Visible = true;

                    if (PublishmentSystemId != 0)
                    {
                        var gatherRuleNameArrayList = DataProvider.GatherRuleDao.GetGatherRuleNameArrayList(PublishmentSystemId);
                        var gatherTypeValue         = EGatherTypeUtils.GetValue(EGatherType.Web);
                        var gatherTypeText          = EGatherTypeUtils.GetText(EGatherType.Web);
                        foreach (string gatherName in gatherRuleNameArrayList)
                        {
                            GatherListBox.Items.Add(new ListItem(gatherName + "(" + gatherTypeText + ")", gatherTypeValue + "_" + gatherName));
                        }
                        gatherRuleNameArrayList = DataProvider.GatherDatabaseRuleDao.GetGatherRuleNameArrayList(PublishmentSystemId);
                        gatherTypeValue         = EGatherTypeUtils.GetValue(EGatherType.Database);
                        gatherTypeText          = EGatherTypeUtils.GetText(EGatherType.Database);
                        foreach (string gatherName in gatherRuleNameArrayList)
                        {
                            GatherListBox.Items.Add(new ListItem(gatherName + "(" + gatherTypeText + ")", gatherTypeValue + "_" + gatherName));
                        }
                        gatherRuleNameArrayList = DataProvider.GatherFileRuleDao.GetGatherRuleNameArrayList(PublishmentSystemId);
                        gatherTypeValue         = EGatherTypeUtils.GetValue(EGatherType.File);
                        gatherTypeText          = EGatherTypeUtils.GetText(EGatherType.File);
                        foreach (string gatherName in gatherRuleNameArrayList)
                        {
                            GatherListBox.Items.Add(new ListItem(gatherName + "(" + gatherTypeText + ")", gatherTypeValue + "_" + gatherName));
                        }

                        GatherHelp.Text = "选择需要定时执行的采集名称";
                    }
                    else
                    {
                        var arraylist = PublishmentSystemManager.GetPublishmentSystemIdList();
                        foreach (int publishmentSystemID in arraylist)
                        {
                            var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemID);
                            var item = new ListItem(publishmentSystemInfo.PublishmentSystemName, publishmentSystemInfo.PublishmentSystemId.ToString());
                            GatherListBox.Items.Add(item);
                        }

                        GatherHelp.Text = "选择需要定时采集的站点";
                    }
                }
                else if (_serviceType == EServiceType.Backup)
                {
                    PlaceHolder_Backup.Visible = true;

                    if (PublishmentSystemId != 0)
                    {
                        PlaceHolder_Backup_PublishmentSystem.Visible = false;
                    }
                    else
                    {
                        PlaceHolder_Backup_PublishmentSystem.Visible = true;
                        var arraylist = PublishmentSystemManager.GetPublishmentSystemIdList();
                        foreach (int publishmentSystemID in arraylist)
                        {
                            var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemID);
                            var item = new ListItem(publishmentSystemInfo.PublishmentSystemName, publishmentSystemInfo.PublishmentSystemId.ToString());
                            BackupPublishmentSystemIDCollection.Items.Add(item);
                        }
                    }

                    EBackupTypeUtils.AddListItems(BackupType);
                }

                if (Body.IsQueryExists("TaskID"))
                {
                    var taskId   = Body.GetQueryInt("TaskID");
                    var taskInfo = DataProvider.TaskDao.GetTaskInfo(taskId);
                    if (taskInfo != null)
                    {
                        TaskName.Text    = taskInfo.TaskName;
                        TaskName.Enabled = false;

                        ControlUtils.SelectListItems(FrequencyType, EFrequencyTypeUtils.GetValue(taskInfo.FrequencyType));
                        ControlUtils.SelectListItems(StartDay, taskInfo.StartDay.ToString());
                        ControlUtils.SelectListItems(StartWeekday, taskInfo.StartWeekday.ToString());
                        ControlUtils.SelectListItems(StartHour, taskInfo.StartHour.ToString());

                        if (taskInfo.PeriodIntervalMinute % 5040 == 0)
                        {
                            PeriodInterval.Text = Convert.ToInt32(taskInfo.PeriodIntervalMinute / 5040).ToString();
                            ControlUtils.SelectListItems(PeriodIntervalType, "5040");
                        }
                        else if (taskInfo.PeriodIntervalMinute % 720 == 0)
                        {
                            PeriodInterval.Text = Convert.ToInt32(taskInfo.PeriodIntervalMinute / 720).ToString();
                            ControlUtils.SelectListItems(PeriodIntervalType, "720");
                        }
                        else if (taskInfo.PeriodIntervalMinute % 12 == 0)
                        {
                            PeriodInterval.Text = Convert.ToInt32(taskInfo.PeriodIntervalMinute / 12).ToString();
                            ControlUtils.SelectListItems(PeriodIntervalType, "12");
                        }
                        else
                        {
                            PeriodInterval.Text = taskInfo.PeriodIntervalMinute.ToString();
                            ControlUtils.SelectListItems(PeriodIntervalType, "1");
                        }

                        Description.Text = taskInfo.Description;

                        if (_serviceType == EServiceType.Create)
                        {
                            var taskCreateInfo = new TaskCreateInfo(taskInfo.ServiceParameters);
                            if (taskCreateInfo.IsCreateAll)
                            {
                                foreach (ListItem item in CreateChannelIDCollection.Items)
                                {
                                    item.Selected = true;
                                }
                                CreateIsCreateAll.Checked = true;
                            }
                            else
                            {
                                var channelIdList = TranslateUtils.StringCollectionToStringList(taskCreateInfo.ChannelIDCollection);
                                ControlUtils.SelectListItems(CreateChannelIDCollection, channelIdList);
                                CreateIsCreateAll.Checked = false;
                            }
                            var createTypeArrayList = TranslateUtils.StringCollectionToStringList(taskCreateInfo.CreateTypes);
                            foreach (ListItem item in CreateCreateTypes.Items)
                            {
                                if (createTypeArrayList.Contains(item.Value))
                                {
                                    item.Selected = true;
                                }
                                else
                                {
                                    item.Selected = false;
                                }
                            }
                        }
                        else if (_serviceType == EServiceType.Gather)
                        {
                            var taskGatherInfo = new TaskGatherInfo(taskInfo.ServiceParameters);
                            if (PublishmentSystemId != 0)
                            {
                                var webGatherNames      = TranslateUtils.StringCollectionToStringList(taskGatherInfo.WebGatherNames);
                                var databaseGatherNames = TranslateUtils.StringCollectionToStringList(taskGatherInfo.DatabaseGatherNames);
                                var fileGatherNames     = TranslateUtils.StringCollectionToStringList(taskGatherInfo.FileGatherNames);
                                foreach (ListItem item in GatherListBox.Items)
                                {
                                    var gatherType = EGatherTypeUtils.GetEnumType(item.Value.Split('_')[0]);
                                    var gatherName = item.Value.Substring(item.Value.Split('_')[0].Length + 1);
                                    if (gatherType == EGatherType.Web && webGatherNames.Contains(gatherName))
                                    {
                                        item.Selected = true;
                                    }
                                    else if (gatherType == EGatherType.Database && databaseGatherNames.Contains(gatherName))
                                    {
                                        item.Selected = true;
                                    }
                                    else if (gatherType == EGatherType.File && fileGatherNames.Contains(gatherName))
                                    {
                                        item.Selected = true;
                                    }
                                }
                            }
                            else
                            {
                                var publishmentSystemIdList = TranslateUtils.StringCollectionToStringList(taskGatherInfo.PublishmentSystemIDCollection);
                                ControlUtils.SelectListItems(GatherListBox, publishmentSystemIdList);
                            }
                        }
                        else if (_serviceType == EServiceType.Backup)
                        {
                            var taskBackupInfo = new TaskBackupInfo(taskInfo.ServiceParameters);

                            if (taskInfo.PublishmentSystemID == 0)
                            {
                                if (taskBackupInfo.IsBackupAll)
                                {
                                    foreach (ListItem item in BackupPublishmentSystemIDCollection.Items)
                                    {
                                        item.Selected = true;
                                    }
                                    BackupIsBackupAll.Checked = true;
                                }
                                else
                                {
                                    var publishmentSystemIdList = TranslateUtils.StringCollectionToStringList(taskBackupInfo.PublishmentSystemIDCollection);
                                    ControlUtils.SelectListItems(BackupPublishmentSystemIDCollection, publishmentSystemIdList);
                                    BackupIsBackupAll.Checked = false;
                                }
                            }
                            else
                            {
                                ControlUtils.SelectListItems(BackupPublishmentSystemIDCollection, taskInfo.PublishmentSystemID.ToString());
                            }

                            ControlUtils.SelectListItems(BackupType, EBackupTypeUtils.GetValue(taskBackupInfo.BackupType));
                        }
                    }
                }

                FrequencyType_SelectedIndexChanged(null, EventArgs.Empty);
            }
        }