private void FillSendCopyUserSelect(WorkCase workCase, Procedure procedure, Task CurrentTask)
        {
            string sCodes = "";
            string sNames = "";

            System.Collections.IDictionaryEnumerator ie = CurrentTask.GetTaskActorEnumerator();
            while (ie.MoveNext())
            {
                TaskActor ta = (TaskActor)ie.Value;
                if (ta.TaskActorID == "1" && ta.ActorType == 1)
                {
                    if (!(ta.TaskActorType == "All" || (workCase.GetAct(this.txtCurrentActCode.Value).Copy == 1 && CurrentTask.GetTaskActor(workCase.GetAct(this.txtCurrentActCode.Value).TaskActorID).TaskActorName == "1")))
                    {
                        Role       role   = procedure.GetRole(ta.ActorCode);
                        EntityData ed     = BLL.WorkFlowRule.GetRoleUser(workCase, CurrentTask, ta);
                        int        iCount = ed.CurrentTable.Rows.Count;
                        for (int i = 0; i < iCount; i++)
                        {
                            ed.SetCurrentRow(i);
                            string UserName = RmsPM.BLL.SystemRule.GetUserNameByProjectCode(this.ProjectCode, ed.GetString("UserName"), ed.GetString("ShortUserName"), null);

                            sCodes += ed.GetString("UserCode") + "," + ta.TaskActorCode + "," + UserName + "," + role.RoleName + ";";
                            sNames += UserName + ",";
                        }
                    }
                }
            }
            this.txtSendCopyUserCodes.Value = sCodes;
            if (sNames.Length > 0)
            {
                this.SendCopyTd.InnerHtml = "<font color='red'>系统将自动为以下人员抄送一份。</font><br/>  " + sNames.Remove(sNames.Length - 1, 1);
            }
        }
        private void FillCopyUserSelect(WorkCase workCase, Procedure procedure, Task CurrentTask)
        {
            /////////////////////////
            System.Collections.IDictionaryEnumerator ie = CurrentTask.GetTaskActorEnumerator();
            string s            = "";
            bool   IsSelectUser = false;

            while (ie.MoveNext())
            {
                TaskActor ta = (TaskActor)ie.Value;
                if (ta.TaskActorID == "1")
                {
                    if (ta.TaskActorType == "All" || (workCase.GetAct(this.txtCurrentActCode.Value).Copy == 1 && CurrentTask.GetTaskActor(workCase.GetAct(this.txtCurrentActCode.Value).TaskActorID).TaskActorName == "1"))
                    {
                        IsSelectUser = true;
                        this.SelectCopyUserNames.Visible = true;
                        this.btnAddCopyUser.Visible      = true;
                        Role role = procedure.GetRole(ta.ActorCode);
                        this.txtCopyTaskActorCode.Value = ta.TaskActorCode;
                        this.txtCopyTaskActorName.Value = role.RoleName;
                    }
                    else
                    {
                        bool ActorNeedValue = false;
                        if (ta.ActorNeed == "1")
                        {
                            ActorNeedValue = true;
                        }
                        Role       role = procedure.GetRole(ta.ActorCode);
                        EntityData ed   = BLL.WorkFlowRule.GetRoleUser(workCase, CurrentTask, ta);
                        this.txtTaskCopyActorIDs.Value += ta.TaskActorCode + ",";
                        if (ta.TaskActorID == "1")
                        {
                            switch (CurrentTask.WayOfSelectPerson)
                            {
                            // 不用选,合适的人都发
                            case "NoSelect":
                                s += BuildCheckBoxListUsers(role.RoleName, ta.TaskActorCode, ed, true, ActorNeedValue);
                                break;

                            //从中选出一个人
                            case "SinglePerson":
                                //s+=BuildRadioBoxListUsers( role.RoleName,ta.TaskActorCode, ed);
                                //以上为人员单选,应客户需求改为了人员多选
                                s += BuildCheckBoxListUsers(role.RoleName, ta.TaskActorCode, ed, false, false);
                                break;

                            //从中选出多人
                            case "MultiPerson":
                                s += BuildCheckBoxListUsers(role.RoleName, ta.TaskActorCode, ed, false, false);
                                break;
                            }
                        }
                    }
                }
            }

            if (!IsSelectUser)
            {
                this.SelectCopyUserNames.Visible = false;
                this.btnAddCopyUser.Visible      = false;
            }

            this.tdSelectCopyTaskActors.InnerHtml = s;
            ////////////////////////////
        }
        private void FillUserSelect(WorkCase workCase, string routerCode)
        {
            string procedureCode  = this.txtProcedureCode.Value;
            string currentActCode = this.txtCurrentActCode.Value;

            Procedure procedure = Rms.WorkFlow.DefinitionManager.GetProcedureDifinition(procedureCode, true);
            Router    router    = procedure.GetRouter(routerCode);
            Task      nextTask  = procedure.GetTask(router.ToTaskCode);

            this.ViewState.Add("WayOfSelectPerson", nextTask.WayOfSelectPerson);
            this.ViewState.Add("TaskType", nextTask.TaskType.ToString());

            this.txtTaskType.Value     = nextTask.TaskType.ToString();
            this.txtTaskActorIDs.Value = "";

            if (nextTask.TaskType == 5)
            {
                DataTable TaskActorTable = new DataTable();
                TaskActorTable.Columns.Add("Order", System.Type.GetType("System.Int32"));
                TaskActorTable.Columns.Add("TaskActorCode");

                System.Collections.IDictionaryEnumerator ieactor = nextTask.GetTaskActorEnumerator();

                while (ieactor.MoveNext())
                {
                    TaskActor taskActor = (TaskActor)ieactor.Value;
                    DataRow   dr        = TaskActorTable.NewRow();
                    dr["Order"]         = taskActor.IOrder;
                    dr["TaskActorCode"] = taskActor.TaskActorCode;
                    TaskActorTable.Rows.Add(dr);
                }
                DataRow[] drw = TaskActorTable.Select("", "Order asc");

                string s = "";
                foreach (DataRow dr in drw)
                {
                    TaskActor ta = nextTask.GetTaskActor(dr["TaskActorCode"].ToString());
                    //ta.ActorCode
                    if (ta.TaskActorID == "0")
                    {
                        Role role = procedure.GetRole(ta.ActorCode);
                        this.txtTaskActorIDs.Value += ta.TaskActorCode + ",";
                        EntityData ed             = BLL.WorkFlowRule.GetRoleUser(workCase, nextTask, ta);
                        bool       ActorNeedValue = false;
                        if (ta.ActorNeed == "1")
                        {
                            ActorNeedValue = true;
                        }
                        if (ta.TaskActorID == "0")
                        {
                            switch (nextTask.WayOfSelectPerson)
                            {
                            // 不用选,合适的人都发
                            case "NoSelect":
                                s += BuildCheckBoxListUsers(role.RoleName, ta.TaskActorCode, ed, true, ActorNeedValue);
                                break;

                            //从中选出一个人
                            case "SinglePerson":
                                s += BuildRadioBoxListUsers(role.RoleName, ta.TaskActorCode, ed);
                                break;

                            //从中选出多人
                            case "MultiPerson":
                                s += BuildCheckBoxListUsers(role.RoleName, ta.TaskActorCode, ed, false, false);
                                break;
                            }
                        }
                        ed.Dispose();
                    }
                }
                this.tdSelectTaskActors.InnerHtml = s;
                ////////////////////////////
            }
            else
            {
                Role       role = procedure.GetRole(nextTask.TaskRole);
                EntityData ed   = BLL.WorkFlowRule.GetRoleUser(workCase, nextTask);

                switch (nextTask.WayOfSelectPerson)
                {
                // 不用选,合适的人都发
                case "NoSelect":
                    this.tdSelectTaskActors.InnerHtml = BuildCheckBoxListUsers(role.RoleName, "", ed, true, false);    //,currentActCode),true);
                    break;

                //从中选出一个人
                case "SinglePerson":
                    this.tdSelectTaskActors.InnerHtml = BuildRadioBoxListUsers(role.RoleName, "", ed);
                    break;

                //从中选出多人
                case "MultiPerson":
                    this.tdSelectTaskActors.InnerHtml = BuildCheckBoxListUsers(role.RoleName, "", ed, false, false);
                    break;
                }
            }
        }
Beispiel #4
0
    /// ****************************************************************************
    /// <summary>
    /// 执行 sql 语句将查询结果帮定显示。


    /// </summary>
    /// ****************************************************************************
    private void LoadData1()
    {
        string     sql    = (string)this.ViewState["SqlString"];
        QueryAgent qa     = new QueryAgent();
        EntityData entity = qa.FillEntityData("WorkFlowAct", sql);

        qa.Dispose();



        //流程意见
        DataColumn Opinion = new DataColumn();

        Opinion.ColumnName   = "Opinion";
        Opinion.DefaultValue = "";
        Opinion.DataType     = System.Type.GetType("System.String");
        //流程同意否决项

        DataColumn Opinion1 = new DataColumn();

        Opinion1.ColumnName   = "OpinionConfirm";
        Opinion1.DefaultValue = "";
        Opinion1.DataType     = System.Type.GetType("System.String");
        //增加流程角色名

        DataColumn Opinion2 = new DataColumn();

        Opinion2.ColumnName   = "RoleName";
        Opinion2.DefaultValue = "";
        Opinion2.DataType     = System.Type.GetType("System.String");
        //结束
        DataColumn Opinion3 = new DataColumn();

        Opinion3.ColumnName   = "IsEnd";
        Opinion3.DefaultValue = "1";
        Opinion3.DataType     = System.Type.GetType("System.String");

        entity.CurrentTable.Columns.Add(Opinion);
        entity.CurrentTable.Columns.Add(Opinion1);
        entity.CurrentTable.Columns.Add(Opinion2);
        entity.CurrentTable.Columns.Add(Opinion3);
        WorkCase workCase = Rms.WorkFlow.WorkCaseManager.GetWorkCase(this.ViewState["_CaseCode"].ToString());

        System.Collections.IDictionaryEnumerator ie = workCase.GetOpinionEnumerator();
        string TaskCode = "";

        if (this.ActCode != "" && !this.Scout)
        {
            Act act = workCase.GetAct(this.ActCode);
            TaskCode = act.ToTaskCode;
        }
        while (ie.MoveNext())
        {
            Opinion Flowopinion = (Opinion)ie.Value;
            foreach (DataRow dr in entity.CurrentTable.Rows)
            {
                //获取当前辅助控制的状态

                ModuleState moduleState = this.Toobar.GetModuleState(WorkFlowRule.GetTaskOpinionTypeByActCode(dr["ActCode"].ToString()));
                //加载意见标题项

                Procedure procedure = DefinitionManager.GetProcedureDifinition(dr["ProcedureCode"].ToString(), true);
                Task      task      = procedure.GetTask(dr["ToTaskCode"].ToString());
                string    IsCopy    = dr["Copy"].ToString();

                //判断是否为结束

                if (task.TaskType == 2)
                {
                    dr["IsEnd"] = "0";
                }

                if (task != null)
                {
                    if (dr["TaskActorID"].ToString() != "")
                    {
                        TaskActor taskActor = task.GetTaskActor(dr["TaskActorID"].ToString());
                        if (taskActor.OpinionType + "" != "")
                        {
                            dr["RoleName"] = taskActor.OpinionType + "意见";
                        }
                        else
                        {
                            Role role = procedure.GetRole(taskActor.ActorCode);
                            if (role != null)
                            {
                                dr["RoleName"] = role.RoleName + "意见";
                            }
                        }
                    }
                    else
                    {
                        if (task.OpinionType + "" != "")
                        {
                            dr["RoleName"] = task.OpinionType + "意见";
                        }
                        else
                        {
                            Role role = procedure.GetRole(task.TaskRole);
                            if (role != null)
                            {
                                dr["RoleName"] = role.RoleName + "意见";
                            }
                        }
                    }
                }

                if (dr["ActCode"].ToString() == Flowopinion.ApplicationCode)
                {
                    //加载同意否决项

                    this.LoadOpinionConfirm(dr["ApplicationSubject"].ToString(), dr);


                    //加载默认用户
                    this.LoadImgSign(moduleState, dr["ActUserCode"].ToString(), dr);

                    //当前状态为End时

                    if (dr["Status"].ToString() == "End")
                    {
                        Act tmpAct = workCase.GetAct(dr["ActCode"].ToString());

                        // 1为抄送并且公开;2为抄送发起人;3为抄送人自己;4为当前用户拥有监控权限 以上4种情况将允许意见的出现

                        if (!(tmpAct.Copy == 1 && tmpAct.IsSleep == 0) || (tmpAct.ToTaskCode == TaskCode && tmpAct.FromUserCode == this.UserCode && tmpAct.Copy == 1) || tmpAct.ActUserCode == this.UserCode || this.IsScoutPopedom)
                        {
                            if (moduleState != ModuleState.Sightless && moduleState != ModuleState.Other)
                            {
                                //获取意见项

                                if (Flowopinion.OpinionText.Length > 0)
                                {
                                    //dr["Opinion"] = "<a href=\"#\" OnClick=\"javascript:WorkFlowCaseStateOpenOpinionView('" + Flowopinion.OpinionCode + "');\">" + Flowopinion.OpinionText.Substring(0, 50) + "...</a>";
                                    dr["Opinion"] = Flowopinion.OpinionText.Replace("\n", "<br>") + "&nbsp;&nbsp;";
                                    string tmpstr = DocumentRule.Instance().GetAttachListHtml("WorkFlowActOpinion", tmpAct.ActCode);
                                    if (tmpstr != "")
                                    {
                                        //dr["Opinion"] += " <img src=\"../Images/attach.gif\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" /></a><br>" + "附件:" + tmpstr;
                                        dr["Opinion"] += "<br>" + "附件:" + tmpstr;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        if (Request["Debug"] + "" == "1")
        {
            string    procedureCode = entity.GetString("ProcedureCode");
            Procedure procedure     = DefinitionManager.GetProcedureDifinition(procedureCode, true);

            /////////////////创建属性表///////////////////
            DataTable PropertyTable = RmsPM.BLL.WorkFlowRule.GetPropertyTable(workCase, procedure);

            this.DataGrid1.DataSource = entity;
            this.DataGrid1.DataBind();

            this.DataGrid2.DataSource = PropertyTable;
            this.DataGrid2.DataBind();
        }
        DataView dv;

        if (!((User)Session["user"]).HasOperationRight("090102"))
        {
            dv = new DataView(entity.CurrentTable, String.Format(" ActUserCode='{0}' or (FromUserCode='{0}' and Copy='1') or (Copy = '1' and IsSleep='1') or Copy='0'", UserCode), "", DataViewRowState.CurrentRows);
        }
        else
        {
            dv = new DataView(entity.CurrentTable);
        }
        this.DataGrid3.DataSource = dv;
        this.DataGrid3.DataBind();

        foreach (DataRow dr in entity.CurrentTable.Select())
        {
            Act tmpAct = workCase.GetAct(dr["ActCode"].ToString());
            if (dr["IsEnd"].ToString() == "0" || tmpAct.Copy == 1)
            {
                entity.CurrentTable.Rows.Remove(dr);
            }
        }
        this.DataGrid4.DataSource = entity.CurrentTable;
        this.DataGrid4.DataBind();

        if (dv.Count == 0)
        {
            this.Visible = false;
        }
        else
        {
            this.Visible = true;
            if (this.ActCode != "" && !this.Scout)
            {
                //Act act = workCase.GetAct(this.ActCode);
                //string TaskCode = act.ToTaskCode;
                for (int i = 0; i < DataGrid3.Items.Count; i++)
                {
                    //DataGrid3.Items[i].Cells[10].Text.Trim() == "ActCode" &&

                    if (DataGrid3.Items[i].Cells[11].Text.Trim() == TaskCode && DataGrid3.Items[i].Cells[12].Text.Trim() == this.UserCode && DataGrid3.Items[i].Cells[13].Text.Trim() == "1")
                    {
                        Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Checked = (tmpact.IsSleep == 1);
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = true;
                    }
                    else
                    {
                        ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false;
                        Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                        if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                        {
                            DataGrid3.Items[i].Cells[9].Text = "&nbsp;√";
                        }
                        else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                        {
                            DataGrid3.Items[i].Cells[9].Text = "&nbsp;x";
                        }
                    }
                }
            }
            if (this.Scout)
            {
                for (int i = 0; i < DataGrid3.Items.Count; i++)
                {
                    ((CheckBox)DataGrid3.Items[i].FindControl("chkopinionshow")).Visible = false;
                    Act tmpact = workCase.GetAct(DataGrid3.Items[i].Cells[10].Text.Trim());
                    if (tmpact.IsSleep == 1 && tmpact.Copy == 1)
                    {
                        DataGrid3.Items[i].Cells[9].Text = "&nbsp;√";
                    }
                    else if (tmpact.IsSleep == 0 && tmpact.Copy == 1)
                    {
                        DataGrid3.Items[i].Cells[9].Text = "&nbsp;x";
                    }
                }
            }
        }
        entity.Dispose();
    }
Beispiel #5
0
        /// ****************************************************************************
        /// <summary>
        /// 确定按钮事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// ****************************************************************************
        protected void btnSave_ServerClick(object sender, System.EventArgs e)
        {
            try
            {
                string taskCode = Request["TaskCode"] + "";


                Procedure procedure = (Procedure)Session["Procedure"];
                Task      task      = (Task)Session["Task"];
                bool      isNew     = (taskCode == "");
                if (isNew)
                {
                    procedure.AddNewTask(task);
                }

                task.TaskName          = this.txtTaskName.Value;
                task.TaskID            = this.txtTaskID.Value;
                task.Description       = this.txtDescription.Value;
                task.TaskTitle         = this.txtTaskTitle.Value;
                task.TaskRole          = this.sltTaskRole.Value;
                task.TaskProperty      = this.sltTaskProperty.Value;
                task.TaskType          = int.Parse(this.sltTaskType.Value.ToString());
                task.Copy              = (this.chkTaskCopy.Checked) ? 1:0;
                task.CanManual         = (this.ChkCanManual.Checked) ? 1 : 0;
                task.ModuleState       = this.txtModuleState.Value;
                task.WayOfSelectPerson = this.sltWayOfSelectPerson.Value;
                task.TaskMeetType      = ((HtmlSelect)this.UltraWebTab1.Tabs.GetTab(0).FindControl("sltMeetType")).Value;
                task.IsOrderly         = (((HtmlInputCheckBox)this.UltraWebTab1.Tabs.GetTab(0).FindControl("chkMeetOrder")).Checked) ? 1:0;
                //是否等待
                task.CanEdit       = (((HtmlInputCheckBox)this.UltraWebTab1.Tabs.GetTab(1).FindControl("chkWaitForCopy")).Checked) ? 1 : 0;
                task.TaskActorType = ((HtmlInputControl)this.UltraWebTab1.Tabs.GetTab(1).FindControl("txtCopyTitle")).Value;
                task.OpinionType   = this.txtOpinionType.Value;

                UltraWebGrid UWGridCase = ((UltraWebGrid)this.UltraWebTab1.Tabs.GetTab(0).FindControl("UltraWebGrid3"));
                for (int i = 0; i < UWGridCase.Rows.Count; i++)
                {
                    bool      isNewTaskActor = (UWGridCase.Rows[i].Cells[0].Text == null);
                    TaskActor TaskActorCase  = null;
                    if (isNewTaskActor)
                    {
                        TaskActorCase               = Rms.WorkFlow.DefinitionManager.NewTaskActor();
                        TaskActorCase.TaskCode      = task.TaskCode;
                        TaskActorCase.ProcedureCode = procedure.ProcedureCode;
                        task.AddNewTaskActor(TaskActorCase);
                    }
                    else
                    {
                        TaskActorCase = task.GetTaskActor(UWGridCase.Rows[i].Cells[0].Text);
                    }

                    TaskActorCase.OpinionType   = (string)UWGridCase.Rows[i].Cells[9].Value;
                    TaskActorCase.TaskActorType = (string)UWGridCase.Rows[i].Cells[1].Value;
                    TaskActorCase.ActorCode     = (string)UWGridCase.Rows[i].Cells[2].Value;
                    if ((string)UWGridCase.Rows[i].Cells[3].Value == "--选择--" || (string)UWGridCase.Rows[i].Cells[3].Value == null)
                    {
                        TaskActorCase.ActorProperty = "";
                    }
                    else
                    {
                        TaskActorCase.ActorProperty = (string)UWGridCase.Rows[i].Cells[3].Value;
                    }
                    TaskActorCase.ActorModuleState = (string)UWGridCase.Rows[i].Cells[5].Value;
                    if (UWGridCase.Rows[i].Cells[8].Value == null)
                    {
                        TaskActorCase.IOrder = 1;
                    }
                    else
                    {
                        TaskActorCase.IOrder = (int)UWGridCase.Rows[i].Cells[8].Value;
                    }
                    TaskActorCase.TaskActorID = "0";
                    if ((bool)UWGridCase.Rows[i].Cells[4].Value)
                    {
                        TaskActorCase.ActorNeed = "1";
                    }
                    else
                    {
                        TaskActorCase.ActorNeed = "0";
                    }
                    if ((bool)UWGridCase.Rows[i].Cells[7].Value)
                    {
                        TaskActorCase.TaskActorName = "1";
                    }
                    else
                    {
                        TaskActorCase.TaskActorName = "0";
                    }
                }


                UltraWebGrid UWGridCopyCase = ((UltraWebGrid)this.UltraWebTab1.Tabs.GetTab(1).FindControl("UltraWebGrid3"));
                for (int i = 0; i < UWGridCopyCase.Rows.Count; i++)
                {
                    bool      isNewTaskActor = (UWGridCopyCase.Rows[i].Cells[0].Text == null);
                    TaskActor TaskActorCase  = null;
                    if (isNewTaskActor)
                    {
                        TaskActorCase               = Rms.WorkFlow.DefinitionManager.NewTaskActor();
                        TaskActorCase.TaskCode      = task.TaskCode;
                        TaskActorCase.ProcedureCode = procedure.ProcedureCode;
                        task.AddNewTaskActor(TaskActorCase);
                    }
                    else
                    {
                        TaskActorCase = task.GetTaskActor(UWGridCopyCase.Rows[i].Cells[0].Text);
                    }


                    TaskActorCase.OpinionType   = (string)UWGridCopyCase.Rows[i].Cells[12].Value;
                    TaskActorCase.TaskActorType = (string)UWGridCopyCase.Rows[i].Cells[1].Value;
                    TaskActorCase.ActorCode     = (string)UWGridCopyCase.Rows[i].Cells[2].Value;
                    if ((string)UWGridCopyCase.Rows[i].Cells[3].Value == "--选择--" || (string)UWGridCopyCase.Rows[i].Cells[3].Value == null)
                    {
                        TaskActorCase.ActorProperty = "";
                    }
                    else
                    {
                        TaskActorCase.ActorProperty = (string)UWGridCopyCase.Rows[i].Cells[3].Value;
                    }
                    TaskActorCase.ActorModuleState = (string)UWGridCopyCase.Rows[i].Cells[5].Value;
                    TaskActorCase.IOrder           = i;
                    TaskActorCase.TaskActorID      = "1";
                    if ((bool)UWGridCopyCase.Rows[i].Cells[4].Value)
                    {
                        TaskActorCase.ActorNeed = "1";
                    }
                    else
                    {
                        TaskActorCase.ActorNeed = "0";
                    }
                    if ((bool)UWGridCopyCase.Rows[i].Cells[8].Value)
                    {
                        TaskActorCase.TaskActorName = "1";
                    }
                    else
                    {
                        TaskActorCase.TaskActorName = "0";
                    }
                    if ((bool)UWGridCopyCase.Rows[i].Cells[10].Value)
                    {
                        TaskActorCase.ActorType = 1;
                    }
                    else
                    {
                        TaskActorCase.ActorType = 0;
                    }
                }

                Session["Procedure"] = procedure;
                CloseWindow();
            }
            catch (Exception ex)
            {
                ApplicationLog.WriteLog(this.ToString(), ex, "");
            }
        }
Beispiel #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskActor"></param>
 public void AddTask(TaskActor taskActor)
 {
     _taskActors.Add(taskActor);
 }