Пример #1
0
        /// *******************************************************************************************
        /// <summary>
        /// 添加路由
        /// </summary>
        /// *******************************************************************************************
        private void SaveRouterData()
        {
            try
            {
                Procedure    procedure  = (Procedure)Session["Procedure"];
                UltraWebGrid UWGridCase = ((UltraWebGrid)this.UltraWebTab1.Tabs.GetTab(1).FindControl("UltraWebGrid2"));

                for (int i = 0; i < UWGridCase.Rows.Count; i++)
                {
                    bool   isNew  = (UWGridCase.Rows[i].Cells[0].Text == null);
                    Router router = null;
                    if (isNew)
                    {
                        router = Rms.WorkFlow.DefinitionManager.NewRouter();
                        router.ProcedureCode = procedure.ProcedureCode;
                        procedure.AddNewRouter(router);
                    }
                    else
                    {
                        router = procedure.GetRouter(UWGridCase.Rows[i].Cells[0].Text);
                    }

                    //string aa = UWGridCase.Rows[i].Cells[2].Value.ToString();

                    router.FromTaskCode = UWGridCase.Rows[i].Cells[2].Value.ToString();
                    router.ToTaskCode   = UWGridCase.Rows[i].Cells[3].Value.ToString();
                    router.Description  = UWGridCase.Rows[i].Cells[1].Value.ToString();
                    //if ( Rms.Check.StringCheck.IsInt(this.txtSortID.Value ))
                    router.SortID = int.Parse(UWGridCase.Rows[i].Cells[4].Value.ToString());

                    /////////////////
                    System.Collections.IDictionaryEnumerator ie = router.GetConditionEnumerator();
                    bool      RouterConditionIsNull             = true;
                    Condition condition = null;
                    while (ie.MoveNext())
                    {
                        condition = (Condition)ie.Value;
                        if (condition.ProcedureCode == router.ProcedureCode && condition.RouterCode == router.RouterCode)
                        {
                            if (UWGridCase.Rows[i].Cells[5].Value != null)
                            {
                                condition.Description = UWGridCase.Rows[i].Cells[5].Value.ToString();
                            }
                            else
                            {
                                condition.Description = "";
                            }
                            RouterConditionIsNull = false;
                        }
                    }
                    if (RouterConditionIsNull)
                    {
                        condition = Rms.WorkFlow.DefinitionManager.NewCondition();
                        condition.ProcedureCode = router.ProcedureCode;
                        condition.RouterCode    = router.RouterCode;
                        if (UWGridCase.Rows[i].Cells[5].Value != null)
                        {
                            condition.Description = UWGridCase.Rows[i].Cells[5].Value.ToString();
                        }
                        else
                        {
                            condition.Description = "";
                        }
                        router.AddNewCondition(condition);
                    }
                    /////////////////
                }
                Session["Procedure"] = procedure;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }