Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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)
        {
        }
    }
Ejemplo n.º 3
0
    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;
        }
    }
Ejemplo n.º 4
0
    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;
        }
    }
Ejemplo n.º 5
0
    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);
                    }
                }
            }
        }
    }