Exemplo n.º 1
0
        public void Page_Load(object sender, EventArgs e)
        {
            if (IsForbidden)
            {
                return;
            }

            PageUtils.CheckRequestParameter("ServiceType");

            _serviceType = EServiceTypeUtils.GetEnumType(Body.GetQueryString("ServiceType"));

            if (Body.IsQueryExists("Delete"))
            {
                var taskId = Body.GetQueryInt("TaskID");
                try
                {
                    DataProvider.TaskDao.Delete(taskId);
                    SuccessDeleteMessage();
                }
                catch (Exception ex)
                {
                    FailDeleteMessage(ex);
                }
            }

            if (Body.IsQueryExists("Enabled"))
            {
                var taskId    = Body.GetQueryInt("TaskID");
                var isEnabled = Body.GetQueryBool("IsEnabled");
                var func      = isEnabled ? "启用" : "禁用";

                try
                {
                    DataProvider.TaskDao.UpdateState(taskId, isEnabled);
                    SuccessMessage($"{func}定时任务成功。");
                }
                catch (Exception ex)
                {
                    FailMessage(ex, $"{func}定时任务失败。");
                }
            }

            if (!IsPostBack)
            {
                var taskName = EServiceTypeUtils.GetText(_serviceType);

                if (PublishmentSystemId > 0)
                {
                    BreadCrumb(AppManager.Cms.LeftMenu.IdConfigration, AppManager.Cms.LeftMenu.Configuration.IdConfigurationTask, taskName + "任务", AppManager.Cms.Permission.WebSite.Configration);
                }
                else
                {
                    BreadCrumbService(AppManager.Service.LeftMenu.Task, taskName + "任务", AppManager.Service.Permission.ServiceTask);
                }

                AddTask.Text = $"添加{taskName}任务";
                AddTask.Attributes.Add("onclick", ModalTaskAdd.GetOpenWindowStringToAdd(_serviceType, PublishmentSystemId));
                BindGrid();
            }
        }
Exemplo n.º 2
0
        void rptContents_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var taskID   = SqlUtils.EvalInt(e.Item.DataItem, "TaskID");
                var taskInfo = DataProvider.TaskDao.GetTaskInfo(taskID);

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

                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 ltlServiceType       = (Literal)e.Item.FindControl("ltlServiceType");
                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          = taskInfo.TaskName;
                ltlServiceType.Text       = EServiceTypeUtils.GetText(taskInfo.ServiceType);

                ltlAddDate.Text      = DateUtils.GetDateAndTimeString(addDate);
                ltlIsSuccess.Text    = StringUtils.GetTrueOrFalseImageHtml(isSuccess);
                ltlErrorMessage.Text = errorMessage;
            }
        }
Exemplo n.º 3
0
        public void Update(TaskInfo info)
        {
            var updateParms = new IDataParameter[]
            {
                GetParameter(ParmTaskName, EDataType.NVarChar, 50, info.TaskName),
                GetParameter(ParmIsSystemTask, EDataType.VarChar, 18, info.IsSystemTask.ToString()),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(info.ServiceType)),
                GetParameter(ParmServiceParameters, EDataType.NText, info.ServiceParameters),
                GetParameter(ParmFrequencyType, EDataType.VarChar, 50, EFrequencyTypeUtils.GetValue(info.FrequencyType)),
                GetParameter(ParmPeriodIntervalMinute, EDataType.Integer, info.PeriodIntervalMinute),
                GetParameter(ParmStartDay, EDataType.Integer, info.StartDay),
                GetParameter(ParmStartWeekday, EDataType.Integer, info.StartWeekday),
                GetParameter(ParmStartHour, EDataType.Integer, info.StartHour),
                GetParameter(ParmIsEnabled, EDataType.VarChar, 18, info.IsEnabled.ToString()),
                GetParameter(ParmAddDate, EDataType.DateTime, info.AddDate),
                GetParameter(ParmLastExecuteDate, EDataType.DateTime, info.LastExecuteDate),
                GetParameter(ParmDescription, EDataType.NVarChar, 255, info.Description),
                GetParameter(ParmTaskId, EDataType.Integer, info.TaskID),
                GetParameter(ParmOnlyOnceDate, EDataType.DateTime, info.OnlyOnceDate)
            };

            ExecuteNonQuery(SqlUpdateTask, updateParms);
            ServiceManager.ClearTaskCache();
        }
Exemplo n.º 4
0
 public static string GetOpenWindowStringToAdd(EServiceType serviceType, int publishmentSystemId)
 {
     return(PageUtils.GetOpenWindowString("添加任务", PageUtils.GetCmsUrl(nameof(ModalTaskAdd), new NameValueCollection
     {
         { "ServiceType", EServiceTypeUtils.GetValue(serviceType) },
         { "PublishmentSystemID", publishmentSystemId.ToString() }
     })));
 }
Exemplo n.º 5
0
 public static string GetRedirectUrl(int publishmentSystemId, EServiceType serviceType)
 {
     return(PageUtils.GetCmsUrl(nameof(PageTask), new NameValueCollection
     {
         { "PublishmentSystemID", publishmentSystemId.ToString() },
         { "ServiceType", EServiceTypeUtils.GetValue(serviceType) }
     }));
 }
Exemplo n.º 6
0
        void dgContents_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                var taskInfo = (TaskInfo)e.Item.DataItem;

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

                var ltlPublishmentSystem = e.Item.FindControl("ltlPublishmentSystem") as Literal;
                var ltlTaskName          = e.Item.FindControl("ltlTaskName") as Literal;
                var ltlServiceType       = e.Item.FindControl("ltlServiceType") as Literal;
                var ltlIsEnabled         = e.Item.FindControl("ltlIsEnabled") as Literal;
                var ltlFrequencyType     = e.Item.FindControl("ltlFrequencyType") as Literal;
                var ltlLastExecuteDate   = e.Item.FindControl("ltlLastExecuteDate") as Literal;
                var ltlEnabledHtml       = e.Item.FindControl("ltlEnabledHtml") as Literal;
                var ltlDeleteHtml        = e.Item.FindControl("ltlDeleteHtml") as Literal;

                ltlPublishmentSystem.Text = publishmentSystemInfo.PublishmentSystemName;

                ltlTaskName.Text      = taskInfo.TaskName;
                ltlServiceType.Text   = EServiceTypeUtils.GetText(taskInfo.ServiceType);
                ltlIsEnabled.Text     = StringUtils.GetTrueOrFalseImageHtml(taskInfo.IsEnabled.ToString());
                ltlFrequencyType.Text = EFrequencyTypeUtils.GetText(taskInfo.FrequencyType);
                if (taskInfo.LastExecuteDate > DateUtils.SqlMinValue)
                {
                    ltlLastExecuteDate.Text = DateUtils.GetDateAndTimeString(taskInfo.LastExecuteDate);
                }

                var urlTask = PageUtils.GetServiceUrl(nameof(PageTask), new NameValueCollection
                {
                    { "Enabled", "True" },
                    { "TaskID", taskInfo.TaskID.ToString() },
                    { "IsEnabled", (!taskInfo.IsEnabled).ToString() }
                });
                ltlEnabledHtml.Text =
                    $"<a href=\"{urlTask}\" onClick=\"javascript:return confirm('此操作将{(taskInfo.IsEnabled ? "禁用" : "启用")}任务“{taskInfo.TaskName}”,确认吗?');\">{(taskInfo.IsEnabled ? "禁用" : "启用")}</a>";
                if (!taskInfo.IsSystemTask)
                {
                    var urlDelete = PageUtils.GetServiceUrl(nameof(PageTask), new NameValueCollection
                    {
                        { "Delete", "True" },
                        { "TaskID", taskInfo.TaskID.ToString() },
                    });

                    ltlDeleteHtml.Text =
                        $"<a href=\"{urlDelete}\" onClick=\"javascript:return confirm('此操作将删除任务“{taskInfo.TaskName}”,确认吗?');\">删除</a>";
                }
            }
        }
Exemplo n.º 7
0
        public void DeleteSystemTask(int publishmentSystemId, EServiceType serviceType)
        {
            const string sqlString = "DELETE FROM siteserver_Task WHERE PublishmentSystemID = @PublishmentSystemID AND IsSystemTask = @IsSystemTask AND ServiceType = @ServiceType";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId),
                GetParameter(ParmIsSystemTask, EDataType.VarChar, 18, true.ToString()),
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(serviceType))
            };

            ExecuteNonQuery(sqlString, parms);
            ServiceManager.ClearTaskCache();
        }
Exemplo n.º 8
0
        private void DgContents_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType != ListItemType.Item && e.Item.ItemType != ListItemType.AlternatingItem)
            {
                return;
            }
            var taskInfo = (TaskInfo)e.Item.DataItem;

            var ltlSite            = (Literal)e.Item.FindControl("ltlSite");
            var ltlTaskName        = (Literal)e.Item.FindControl("ltlTaskName");
            var ltlIsEnabled       = (Literal)e.Item.FindControl("ltlIsEnabled");
            var ltlFrequencyType   = (Literal)e.Item.FindControl("ltlFrequencyType");
            var ltlLastExecuteDate = (Literal)e.Item.FindControl("ltlLastExecuteDate");
            var ltlEditHtml        = (Literal)e.Item.FindControl("ltlEditHtml");
            var ltlEnabledHtml     = (Literal)e.Item.FindControl("ltlEnabledHtml");
            var ltlDeleteHtml      = (Literal)e.Item.FindControl("ltlDeleteHtml");

            if (ltlSite != null)
            {
                ltlSite.Text = GetSiteHtml(taskInfo.PublishmentSystemID);
            }
            ltlTaskName.Text      = taskInfo.TaskName;
            ltlIsEnabled.Text     = StringUtils.GetTrueOrFalseImageHtml(taskInfo.IsEnabled.ToString());
            ltlFrequencyType.Text = EFrequencyTypeUtils.GetText(taskInfo.FrequencyType);
            if (taskInfo.LastExecuteDate > DateUtils.SqlMinValue)
            {
                ltlLastExecuteDate.Text = DateUtils.GetDateAndTimeString(taskInfo.LastExecuteDate);
            }
            if (!taskInfo.IsSystemTask)
            {
                ltlEditHtml.Text   = GetEditHtml(taskInfo.TaskID, taskInfo.PublishmentSystemID);
                ltlDeleteHtml.Text = GetDeleteHtml(taskInfo.TaskID, taskInfo.TaskName, taskInfo.PublishmentSystemID);
            }
            var urlTask = PageUtils.GetCmsUrl(nameof(PageTask), new NameValueCollection
            {
                { "PublishmentSystemID", taskInfo.PublishmentSystemID.ToString() },
                { "TaskID", taskInfo.TaskID.ToString() },
                { "ServiceType", EServiceTypeUtils.GetValue(taskInfo.ServiceType) },
                { "Enabled", true.ToString() },
                { "IsEnabled", (!taskInfo.IsEnabled).ToString() }
            });

            ltlEnabledHtml.Text =
                $"<a href=\"{urlTask}\" onClick=\"javascript:return confirm('此操作将{(taskInfo.IsEnabled ? "禁用" : "启用")}任务“{taskInfo.TaskName}”,确认吗?');\">{(taskInfo.IsEnabled ? "禁用" : "启用")}</a>";
        }
Exemplo n.º 9
0
        private string GetDeleteHtml(int taskId, string taskName, int publishmentSystemId)
        {
            if (PublishmentSystemId != 0 && publishmentSystemId != PublishmentSystemId)
            {
                return(string.Empty);
            }

            var urlDelete = PageUtils.GetCmsUrl(nameof(PageTask), new NameValueCollection
            {
                { "PublishmentSystemID", PublishmentSystemId.ToString() },
                { "TaskID", taskId.ToString() },
                { "ServiceType", EServiceTypeUtils.GetValue(_serviceType) },
                { "Delete", true.ToString() }
            });

            return
                ($"<a href=\"{urlDelete}\" onClick=\"javascript:return confirm('此操作将删除{EServiceTypeUtils.GetText(_serviceType)}任务“{taskName}”,确认吗?');\">删除</a>");
        }
Exemplo n.º 10
0
        public int Insert(TaskInfo info)
        {
            int          id;
            const string sqlString = "INSERT INTO siteserver_Task (TaskName, IsSystemTask, PublishmentSystemID, ServiceType, ServiceParameters, FrequencyType, PeriodIntervalMinute, StartDay, StartWeekday, StartHour, IsEnabled, AddDate, LastExecuteDate, Description, OnlyOnceDate) VALUES (@TaskName, @IsSystemTask, @PublishmentSystemID, @ServiceType, @ServiceParameters, @FrequencyType, @PeriodIntervalMinute, @StartDay, @StartWeekday, @StartHour, @IsEnabled, @AddDate, @LastExecuteDate, @Description, @OnlyOnceDate)";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmTaskName, EDataType.NVarChar, 50, info.TaskName),
                GetParameter(ParmIsSystemTask, EDataType.VarChar, 18, info.IsSystemTask.ToString()),
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, info.PublishmentSystemID),
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(info.ServiceType)),
                GetParameter(ParmServiceParameters, EDataType.NText, info.ServiceParameters),
                GetParameter(ParmFrequencyType, EDataType.VarChar, 50, EFrequencyTypeUtils.GetValue(info.FrequencyType)),
                GetParameter(ParmPeriodIntervalMinute, EDataType.Integer, info.PeriodIntervalMinute),
                GetParameter(ParmStartDay, EDataType.Integer, info.StartDay),
                GetParameter(ParmStartWeekday, EDataType.Integer, info.StartWeekday),
                GetParameter(ParmStartHour, EDataType.Integer, info.StartHour),
                GetParameter(ParmIsEnabled, EDataType.VarChar, 18, info.IsEnabled.ToString()),
                GetParameter(ParmAddDate, EDataType.DateTime, info.AddDate),
                GetParameter(ParmLastExecuteDate, EDataType.DateTime, info.LastExecuteDate),
                GetParameter(ParmDescription, EDataType.NVarChar, 255, info.Description),
                GetParameter(ParmOnlyOnceDate, EDataType.DateTime, info.OnlyOnceDate)
            };

            using (var conn = GetConnection())
            {
                conn.Open();
                using (var trans = conn.BeginTransaction())
                {
                    try
                    {
                        id = ExecuteNonQueryAndReturnId(trans, sqlString, parms);
                        ServiceManager.ClearTaskCache();
                        trans.Commit();
                    }
                    catch (Exception)
                    {
                        trans.Rollback();
                        throw;
                    }
                }
            }
            return(id);
        }
Exemplo n.º 11
0
        public List <int> GetTaskIdList(EServiceType serviceType)
        {
            var list = new List <int>();

            const string sqlString = "SELECT TaskID FROM siteserver_Task WHERE ServiceType = @ServiceType";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(serviceType))
            };

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                while (rdr.Read())
                {
                    list.Add(GetInt(rdr, 0));
                }
                rdr.Close();
            }
            return(list);
        }
Exemplo n.º 12
0
        public List <TaskInfo> GetTaskInfoList(EServiceType serviceType)
        {
            var list = new List <TaskInfo>();

            const string sqlString = "SELECT TaskID, TaskName, IsSystemTask, PublishmentSystemID, ServiceType, ServiceParameters, FrequencyType, PeriodIntervalMinute, StartDay, StartWeekday, StartHour, IsEnabled, AddDate, LastExecuteDate, Description, OnlyOnceDate FROM siteserver_Task WHERE ServiceType = @ServiceType";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(serviceType))
            };

            using (var rdr = ExecuteReader(sqlString, parms))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new TaskInfo(GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EServiceTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), EFrequencyTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }
            return(list);
        }
Exemplo n.º 13
0
        public bool IsSystemTaskExists(int publishmentSystemId, EServiceType serviceType)
        {
            var exists = false;

            const string sqlString = "SELECT TaskID FROM siteserver_Task WHERE PublishmentSystemID = @PublishmentSystemID AND IsSystemTask = @IsSystemTask AND ServiceType = @ServiceType";

            var parms = new IDataParameter[]
            {
                GetParameter(ParmPublishmentSystemId, EDataType.Integer, publishmentSystemId),
                GetParameter(ParmIsSystemTask, EDataType.VarChar, 18, true.ToString()),
                GetParameter(ParmServiceType, EDataType.VarChar, 50, EServiceTypeUtils.GetValue(serviceType))
            };

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

            return(exists);
        }
Exemplo n.º 14
0
        public List <TaskInfo> GetTaskInfoList()
        {
            var list = new List <TaskInfo>();

            const string sqlString = "SELECT TaskID, TaskName, IsSystemTask, PublishmentSystemID, ServiceType, ServiceParameters, FrequencyType, PeriodIntervalMinute, StartDay, StartWeekday, StartHour, IsEnabled, AddDate, LastExecuteDate, Description, OnlyOnceDate FROM siteserver_Task ORDER BY LastExecuteDate DESC";

            using (var rdr = ExecuteReader(sqlString))
            {
                while (rdr.Read())
                {
                    var i    = 0;
                    var info = new TaskInfo(GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EServiceTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), EFrequencyTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i));
                    list.Add(info);
                }
                rdr.Close();
            }
            return(list);
        }
Exemplo n.º 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);
            }
        }
Exemplo n.º 16
0
        public TaskInfo GetTaskInfo(int taskId)
        {
            TaskInfo info = null;

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

            using (var rdr = ExecuteReader(SqlSelectById, parms))
            {
                if (rdr.Read())
                {
                    var i = 0;
                    info = new TaskInfo(GetInt(rdr, i++), GetString(rdr, i++), GetBool(rdr, i++), GetInt(rdr, i++), EServiceTypeUtils.GetEnumType(GetString(rdr, i++)), GetString(rdr, i++), EFrequencyTypeUtils.GetEnumType(GetString(rdr, i++)), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetInt(rdr, i++), GetBool(rdr, i++), GetDateTime(rdr, i++), GetDateTime(rdr, i++), GetString(rdr, i++), GetDateTime(rdr, i));
                }
                rdr.Close();
            }

            return(info);
        }
Exemplo n.º 17
0
        public override void Submit_OnClick(object sender, EventArgs e)
        {
            var isChanged = false;

            var serviceParamters = new ExtendedAttributes();

            if (_serviceType == EServiceType.Create)
            {
                var taskCreateInfo = new TaskCreateInfo(string.Empty);
                taskCreateInfo.IsCreateAll         = CreateIsCreateAll.Checked;
                taskCreateInfo.ChannelIDCollection = TranslateUtils.ObjectCollectionToString(ControlUtils.GetSelectedListControlValueArrayList(CreateChannelIDCollection));
                taskCreateInfo.CreateTypes         = TranslateUtils.ObjectCollectionToString(ControlUtils.GetSelectedListControlValueArrayList(CreateCreateTypes));
                serviceParamters = taskCreateInfo;
            }
            else if (_serviceType == EServiceType.Gather)
            {
                var taskGatherInfo = new TaskGatherInfo(string.Empty);
                if (PublishmentSystemId != 0)
                {
                    var webGatherNames      = new ArrayList();
                    var databaseGatherNames = new ArrayList();
                    var fileGatherNames     = new ArrayList();
                    foreach (ListItem item in GatherListBox.Items)
                    {
                        if (item.Selected)
                        {
                            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))
                            {
                                webGatherNames.Add(gatherName);
                            }
                            else if (gatherType == EGatherType.Database && !databaseGatherNames.Contains(gatherName))
                            {
                                databaseGatherNames.Add(gatherName);
                            }
                            else if (gatherType == EGatherType.File && !fileGatherNames.Contains(gatherName))
                            {
                                fileGatherNames.Add(gatherName);
                            }
                        }
                    }
                    taskGatherInfo.WebGatherNames      = TranslateUtils.ObjectCollectionToString(webGatherNames);
                    taskGatherInfo.DatabaseGatherNames = TranslateUtils.ObjectCollectionToString(databaseGatherNames);
                    taskGatherInfo.FileGatherNames     = TranslateUtils.ObjectCollectionToString(fileGatherNames);
                }
                else
                {
                    taskGatherInfo.PublishmentSystemIDCollection = TranslateUtils.ObjectCollectionToString(ControlUtils.GetSelectedListControlValueArrayList(GatherListBox));
                }
                serviceParamters = taskGatherInfo;
            }
            else if (_serviceType == EServiceType.Backup)
            {
                var taskBackupInfo = new TaskBackupInfo(string.Empty);
                taskBackupInfo.BackupType  = EBackupTypeUtils.GetEnumType(BackupType.SelectedValue);
                taskBackupInfo.IsBackupAll = BackupIsBackupAll.Checked;
                taskBackupInfo.PublishmentSystemIDCollection = TranslateUtils.ObjectCollectionToString(ControlUtils.GetSelectedListControlValueArrayList(BackupPublishmentSystemIDCollection));
                serviceParamters = taskBackupInfo;
            }

            if (Body.IsQueryExists("TaskID"))
            {
                try
                {
                    var taskId   = Body.GetQueryInt("TaskID");
                    var taskInfo = DataProvider.TaskDao.GetTaskInfo(taskId);
                    taskInfo.FrequencyType = EFrequencyTypeUtils.GetEnumType(FrequencyType.SelectedValue);
                    if (taskInfo.FrequencyType == EFrequencyType.Period)
                    {
                        taskInfo.PeriodIntervalMinute = TranslateUtils.ToInt(PeriodInterval.Text) * TranslateUtils.ToInt(PeriodIntervalType.SelectedValue);
                    }
                    else if (taskInfo.FrequencyType != EFrequencyType.JustInTime)
                    {
                        taskInfo.StartDay     = TranslateUtils.ToInt(StartDay.SelectedValue);
                        taskInfo.StartWeekday = TranslateUtils.ToInt(StartWeekday.SelectedValue);
                        taskInfo.StartHour    = TranslateUtils.ToInt(StartHour.SelectedValue);
                    }
                    taskInfo.Description       = Description.Text;
                    taskInfo.ServiceParameters = serviceParamters.ToString();

                    DataProvider.TaskDao.Update(taskInfo);

                    Body.AddSiteLog(PublishmentSystemId, $"修改{EServiceTypeUtils.GetText(taskInfo.ServiceType)}任务", $"任务名称:{taskInfo.TaskName}");

                    SuccessMessage("任务修改成功!");
                    isChanged = true;
                }
                catch (Exception ex)
                {
                    FailMessage(ex, "任务修改失败!");
                }
            }
            else
            {
                if (DataProvider.TaskDao.IsExists(TaskName.Text))
                {
                    FailMessage("任务添加失败,任务名称已存在!");
                }
                else
                {
                    try
                    {
                        var taskInfo = new TaskInfo();
                        taskInfo.TaskName            = TaskName.Text;
                        taskInfo.PublishmentSystemID = PublishmentSystemId;
                        taskInfo.ServiceType         = _serviceType;
                        taskInfo.FrequencyType       = EFrequencyTypeUtils.GetEnumType(FrequencyType.SelectedValue);
                        if (taskInfo.FrequencyType == EFrequencyType.Period)
                        {
                            taskInfo.PeriodIntervalMinute = TranslateUtils.ToInt(PeriodInterval.Text) * TranslateUtils.ToInt(PeriodIntervalType.SelectedValue);
                        }
                        else if (taskInfo.FrequencyType != EFrequencyType.JustInTime)
                        {
                            taskInfo.StartDay     = TranslateUtils.ToInt(StartDay.SelectedValue);
                            taskInfo.StartWeekday = TranslateUtils.ToInt(StartWeekday.SelectedValue);
                            taskInfo.StartHour    = TranslateUtils.ToInt(StartHour.SelectedValue);
                        }
                        taskInfo.Description = Description.Text;

                        taskInfo.ServiceParameters = serviceParamters.ToString();

                        taskInfo.IsEnabled       = true;
                        taskInfo.AddDate         = DateTime.Now;
                        taskInfo.OnlyOnceDate    = DateUtils.SqlMinValue;
                        taskInfo.LastExecuteDate = DateUtils.SqlMinValue;

                        DataProvider.TaskDao.Insert(taskInfo);

                        Body.AddSiteLog(PublishmentSystemId, $"添加{EServiceTypeUtils.GetText(taskInfo.ServiceType)}任务", $"任务名称:{taskInfo.TaskName}");

                        SuccessMessage("任务添加成功!");
                        isChanged = true;
                    }
                    catch (Exception ex)
                    {
                        FailMessage(ex, "任务添加失败!");
                    }
                }
            }

            if (isChanged)
            {
                PageUtils.CloseModalPageAndRedirect(Page, PageTask.GetRedirectUrl(PublishmentSystemId, _serviceType));
            }
        }