protected void Page_Load(object sender, EventArgs e) { if (!WebUtil.CheckPrivilege(WebConfig.FunctionAutomationEditBatchTask, OpType.READ, Session)) { Response.Redirect(WebConfig.PageNotEnoughPrivilege, true); } if ((Request.Params[WebConfig.ParamOperation] as string) == "modify") { int taskId = int.Parse(Request.Params[WebConfig.ParamTaskId]); _task = TheAdminServer.BatchTaskManager.GetBatchTask(taskId); } if (!IsPostBack) { SetBatchTask(_task); } }
protected void ButtonContinue_Click(object sender, EventArgs e) { try { if (!WebUtil.CheckPrivilege(TheAdminServer.BatchTaskManager.SecurityObject, OpType.EXECUTE, Session)) { Response.Redirect(WebConfig.PageNotEnoughPrivilege, true); } foreach (CheckBox checkBox in _selectedCheckBox) { if (checkBox.Checked) { int taskId = int.Parse(checkBox.InputAttributes["id"]); BatchTask task = TheAdminServer.BatchTaskManager.GetBatchTask(taskId); task.Continue(); } } } catch (Exception) { } }
protected void LinkButtonApply_Click(object sender, EventArgs e) { try { if (!WebUtil.CheckPrivilege(TheAdminServer.BatchTaskManager.SecurityObject, OpType.WRITE, Session)) { Response.Redirect(WebConfig.PageNotEnoughPrivilege, true); } GameServer[] selectedServers = GameServerCheckBoxList1.SelectedGameServers; if (selectedServers == null || selectedServers.Length <= 0) { LabelOpMsg.Text = string.Format(StringDef.MsgCannotBeNone, StringDef.GameServer); return; } IAutomation automation = AutomationEditor1.Automation; if (automation == null) { LabelOpMsg.Text = string.Format(StringDef.MsgCannotBeNone, StringDef.Automation); return; } string name = TextBoxName.Text.Trim(); if (name.Length == 0) { LabelOpMsg.Text = string.Format(StringDef.MsgCannotBeNone, StringDef.Name); return; } string desc = TextBoxDesc.Text.Trim(); if (desc.Length == 0) { LabelOpMsg.Text = string.Format(StringDef.MsgCannotBeNone, StringDef.Description); return; } if (_task == null) { //Ìí¼Ó _task = new BatchTask(); _task.Step = int.Parse(DropDownListStepSize.SelectedValue); foreach (GameServer server in selectedServers) { if (server != null) { _task.AddServer(server.Id); } } _task.Automation = automation; if (TheAdminServer.BatchTaskManager.AddTask(_task, name, desc)) { Response.Redirect("BatchTask.aspx", true); } else { LabelOpMsg.Text = StringDef.OperationFail + StringDef.Colon + StringDef.AddTask; return; } } else { //ÐÞ¸Ä if (TheAdminServer.BatchTaskManager.EditTask(_task.ID, int.Parse(DropDownListStepSize.SelectedValue), automation, selectedServers, name, desc)) { Response.Redirect("BatchTask.aspx", true); } else { LabelOpMsg.Text = StringDef.OperationFail + StringDef.Colon + StringDef.EditBatchTask; return; } } } catch (Exception ex) { LabelOpMsg.Text = StringDef.OperationFail + StringDef.Colon + ex.Message; } }
void ListTask() { TableTask.Rows.Clear(); BatchTaskManager manager = TheAdminServer.BatchTaskManager; IList <BatchTask> taskList = manager.TaskList; if (taskList != null && taskList.Count > 0) { LabelNoTask.Visible = false; TableTask.Visible = true; ButtonDelete.Enabled = true; ButtonExecute.Enabled = true; ButtonPause.Enabled = true; ButtonContinue.Enabled = true; _selectedCheckBox = new CheckBox[taskList.Count]; TableRow headerRow = new TableRow(); TableHeaderCell headerCell = null; headerCell = new TableHeaderCell(); headerCell.Text = StringDef.Selected; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.Name; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.Desc; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.State; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.StartTime; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.EscapedTime; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.EndTime; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.Operation; headerCell.Width = 200; headerRow.Cells.Add(headerCell); TableTask.Rows.Add(headerRow); for (int i = 0; i < taskList.Count; i++) { BatchTask task = taskList[i]; TableRow row = new TableRow(); TableCell cell = null; cell = new TableCell(); _selectedCheckBox[i] = new CheckBox(); _selectedCheckBox[i].InputAttributes["id"] = task.ID.ToString(); cell.Controls.Add(_selectedCheckBox[i]); row.Cells.Add(cell); cell = new TableCell(); cell.Text = task.SecurityObject.Name; row.Cells.Add(cell); cell = new TableCell(); cell.Text = task.SecurityObject.Comment; row.Cells.Add(cell); cell = new TableCell(); cell.Text = task.TaskState.ToString(); row.Cells.Add(cell); cell = new TableCell(); if (task.StartTime != DateTime.MinValue) { cell.Text = task.StartTime.ToString(); } else { cell.Text = StringDef.NotStarted; } row.Cells.Add(cell); cell = new TableCell(); if (task.StartTime != DateTime.MinValue) { if (task.EndTime != DateTime.MinValue) { cell.Text = ((TimeSpan)(task.EndTime.Subtract(task.StartTime))).ToString(); } else { cell.Text = ((TimeSpan)(DateTime.Now.Subtract(task.StartTime))).ToString(); } } else { cell.Text = StringDef.NotStarted; } row.Cells.Add(cell); cell = new TableCell(); if (task.EndTime != DateTime.MinValue) { cell.Text = task.EndTime.ToString(); } else { cell.Text = StringDef.NotFinished; } row.Cells.Add(cell); cell = new TableCell(); HyperLink viewDetailLink = new HyperLink(); viewDetailLink.SkinID = "PlainText"; viewDetailLink.Text = StringDef.ViewDetail; viewDetailLink.NavigateUrl = string.Format("BatchTaskDetail.aspx?{0}={1}", WebConfig.ParamTaskId, task.ID.ToString()); cell.Controls.Add(viewDetailLink); HyperLink modifyLink = new HyperLink(); modifyLink.SkinID = "PlainText"; modifyLink.Enabled = (task.TaskState != BatchTask.State.Doing); modifyLink.Text = StringDef.Modify; modifyLink.NavigateUrl = string.Format("EditBatchTask.aspx?op=modify&{0}={1}", WebConfig.ParamTaskId, task.ID.ToString()); cell.Controls.Add(modifyLink); row.Cells.Add(cell); TableTask.Rows.Add(row); } } else { LabelNoTask.Visible = true; TableTask.Visible = false; ButtonDelete.Enabled = false; ButtonExecute.Enabled = false; ButtonPause.Enabled = false; ButtonContinue.Enabled = false; } }
void SetTask(BatchTask task) { if (task != null) { LiteralName.Text = task.SecurityObject.Name; LiteralDesc.Text = task.SecurityObject.Comment; if (task.StartTime != DateTime.MinValue) { LiteralBeginTime.Text = task.StartTime.ToString(); } else { LiteralBeginTime.Text = StringDef.NotStarted; } if (task.StartTime != DateTime.MinValue) { if (task.EndTime != DateTime.MinValue) { LiteralEscapedTime.Text = ((TimeSpan)(task.EndTime.Subtract(task.StartTime))).ToString(); } else { LiteralEscapedTime.Text = ((TimeSpan)(DateTime.Now.Subtract(task.StartTime))).ToString(); } } else { LiteralEscapedTime.Text = StringDef.NotStarted; } if (task.EndTime != DateTime.MinValue) { LiteralEndTime.Text = task.EndTime.ToString(); } else { LiteralEndTime.Text = StringDef.NotFinished; } TableServerList.Rows.Clear(); int[] serverIds = task.Servers; if (serverIds != null) { TableHeaderRow headerRow = new TableHeaderRow(); TableHeaderCell headerCell = null; headerCell = new TableHeaderCell(); headerCell.Text = StringDef.GameServer; headerRow.Cells.Add(headerCell); headerCell = new TableHeaderCell(); headerCell.Text = StringDef.State; headerRow.Cells.Add(headerCell); TableServerList.Rows.Add(headerRow); for (int i = 0; i < serverIds.Length; i++) { GameServer server = TheAdminServer.GameServerManager.GetGameServer(serverIds[i]); if (server != null) { TableRow row = new TableRow(); TableCell cell = null; cell = new TableCell(); cell.Text = server.Name; row.Cells.Add(cell); cell = new TableCell(); cell.Text = task.GetUnitState(i).ToString(); row.Cells.Add(cell); TableServerList.Rows.Add(row); } } } } }