Ejemplo n.º 1
0
        private void LoadData()
        {
            int flowId = Convert.ToInt32(Request.QueryString["id"]);

            WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(flowId); //WX.Flow.Model.Flow.NewDataModel(flowId);
            flow.LoadProcessList(true);
            //初始化txtNodeId
            if (flow.ProcessList == null)
            {
                this.txtNodeId.Text = "1";
            }
            else
            {
                this.txtNodeId.Text = Convert.ToString(flow.ProcessList.Count + 1);
            }
            //填充
            if (flow.ProcessList != null)
            {
                foreach (Process.MODEL prcs in flow.ProcessList)
                {
                    this.ListBox2.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
                    this.ListBox4.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
                }
            }
        }
Ejemplo n.º 2
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         //进入条件
         WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId);
         this.FormId     = flow.FormId.ToInt32();
         MenuBar1.Param1 = this.rFlowId.ToString();
         bool b = flow.GetProcessByStep(1).GetInAccess(null);
         if (b == false)
         {
             this.btnSubmit.Enabled = false;
             this.tooltip.InnerText = flow.GetProcessByStep(1).GetInMsg(null);
         }
         //填充流程信息及新工作流水号
         flow.LoadNumberRule(false);
         string name   = flow.Name.value.ToString();
         string number = flow.NumberRule.GetValue();
         this.txtSerialNumber.Text = number; //String.Format("{0}({1})", name, number);
         this.txtDescription.Text  = flow.Description.value.ToString();
         //填充流程步骤列表
         flow.LoadProcessList(false);
         var process = flow.ProcessList;
         //var process = Process.Caches.FindAll(delegate(Process.MODEL dele) { return dele.Id.ToInt32() == rFlowId; });//WX.Flow.Model.Process.GetModels("SELECT * FROM FL_Process WHERE FlowId=" + rFlowId);
         var query = process.Select(p => new
         {
             StepNo   = p.GetFieldValue("StepNo").ToString(),
             Name     = p.GetFieldValue("Name").ToString(),
             NextNode = ShowNextNode(p.GetFieldValue("Next_Nodes").ToString())
         });
         this.ProcessRepeater.DataSource = query;
         this.ProcessRepeater.DataBind();
     }
 }
Ejemplo n.º 3
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //Process.MODEL process = new Process.MODEL();
            WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId);
            flow.LoadProcessList(false);
            if (flow.GetProcessByStep(1).ExecIn(null) == 0)
            {
                ULCode.Debug.Alert(this, "程序出错,请联系管理员!");
                return;
            }
            int newRunId = flow.NewWork(this.txtSerialNumber.Text);

            this.Save(newRunId, 1);
            if (newRunId > 0)
            {
                WX.Flow.Model.Run.MODEL     runmodel = WX.Flow.Model.Run.GetModel("select * from FL_Run where Id=" + newRunId);
                WX.Flow.Model.Process.MODEL process  = WX.Flow.Model.Process.GetCache(runmodel.FlowId.ToInt32(), runmodel.StepNo.ToInt32());
                WX.Model.User.MODEL         squser   = WX.Model.User.NewDataModel(runmodel.BeginUser.ToString());
                if (process.Auto_Type.ToString() == "1")//经办人为流程发起人的
                {
                    WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", runmodel.BeginUser.ToString(), WX.Main.CurUser.UserID, 12, 0);
                }
                else if (process.Auto_Type.ToString() == "2")//经办人为部门主管的
                {
                    WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetDeptUserID(1, "[Host]", squser.DepartmentID.ToInt32()), WX.Main.CurUser.UserID, 12, 0);
                }
                else if (process.Auto_Type.ToString() == "4")
                {
                    WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetParentDeptHost(squser.DepartmentID.ToInt32(), "Host"), WX.Main.CurUser.UserID, 12, 0);
                }
                else if (process.Auto_Type.ToString() == "5")
                {
                    WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", WX.CommonUtils.GetParentDeptHost(squser.DepartmentID.ToInt32(), "SubHosts"), WX.Main.CurUser.UserID, 12, 0);
                }
                else
                {
                    System.Data.DataTable dt = ULCode.QDA.XSql.GetDataTable("select UserID from Tu_Users where 1=1" + (process.Priv_UserList.ToString() != "" ? " and UserID in(" + process.Priv_UserList.ToString() + ")" : "") + (process.Priv_DutyList.ToString() != "" ? " and DutyId in(select ID from TE_DutyDetail where DutyID in(" + process.Priv_DutyList.ToString() + "))" : "") + (process.Priv_DeptList.ToString() != "" ? " and Priv_DeptList in(" + process.Priv_DeptList.ToString() + ")" : ""));
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        WX.Main.MessageSend("<a href=/Manage/Work/Work_MyCheck.aspx?flag=0&mes=1>" + flow.Name.ToString() + "(" + WX.CommonUtils.GetRealNameListByUserIdList(runmodel.BeginUser.ToString()) + ")——请尽快审批!</a>", "/Manage/Main/messagelist.aspx", dt.Rows[i][0].ToString(), WX.Main.CurUser.UserID, 12, 0);
                    }
                }

                //转到下一页
                Response.Redirect("/Manage/Work/Work_MyWork.aspx?flag=0 ");
            }
        }
Ejemplo n.º 4
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //Process.MODEL process = new Process.MODEL();
            WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(rFlowId); //WX.Flow.Model.Flow.NewDataModel(rFlowId);
            flow.LoadProcessList(false);
            if (flow.GetProcessByStep(1).ExecIn(null) == 0)
            {
                ULCode.Debug.Alert(this, "程序出错,请联系管理员!");
                return;
            }
            int newRunId = flow.NewWork(this.txtSerialNumber.Text);

            if (newRunId > 0)
            {
                //转到下一页
                Response.Redirect(String.Format("Run_SignForm.aspx?Run_ID={0}&Flow_Id={1}&Step_Id={2}", newRunId, flow.Id, 1), true);
            }
        }
Ejemplo n.º 5
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            WX.XZ.Train.MODEL        trainmodel = WX.XZ.Train.NewDataModel(Request["TrainID"]);
            WX.Flow.Model.Flow.MODEL flow       = WX.Flow.Model.Flow.GetCache(trainmodel.FlowID.ToInt32()); //WX.Flow.Model.Flow.NewDataModel(rFlowId);
            flow.LoadProcessList(false);
            if (flow.GetProcessByStep(1).ExecIn(null) == 0)
            {
                ULCode.Debug.Alert(this, "程序出错,请联系管理员!");
                return;
            }
            int newRunId = flow.NewWork("《" + flow.Name.ToString() + "》学习心得");

            this.Save(newRunId, 1);
            WX.XZ.TrainUsers.MODEL tusermodel = WX.XZ.TrainUsers.GetModelToTrainID(trainmodel.ID.ToInt32(), WX.Main.CurUser.UserID);
            tusermodel.RunID.value = newRunId;
            tusermodel.State.value = 2;
            tusermodel.Update();
            ULCode.Debug.Alert(this, "提交成功!");
            Button1.Visible = false;
        }
Ejemplo n.º 6
0
        private void LoadData()
        {
            int flowId = Convert.ToInt32(Request.QueryString["flowid"]);
            int Id     = Convert.ToInt32(Request.QueryString["id"]);

            WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(flowId); //WX.Flow.Model.Flow.NewDataModel(flowId);
            flow.LoadProcessList(true);

            Process.MODEL process = WX.Flow.Model.Process.GetCache(Id); //Process.NewDataModel(Id);
            process.LoadNextProcessList(true);
            process.LoadNotbyProcessList(true);
            this.txtNodeId.Text            = process.StepNo.ToString();
            this.txtNodeName.Text          = process.Name.ToString();
            this.ddlNodeType.SelectedValue = process.NodeType.ToString();

            if (process.NextProcessList != null)
            {
                foreach (Process.MODEL prcs in process.NextProcessList)
                {
                    this.ListBox1.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
                }
            }
            foreach (Process.MODEL prcs in process.NotbyProcessList)
            {
                this.ListBox3.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
            }
            if (flow.ProcessList != null)
            {
                foreach (Process.MODEL prcs in flow.ProcessList)
                {
                    if (process.NextProcessList == null || !process.NextProcessList.Exists(delegate(Process.MODEL prcs_dele) { return(prcs.Id.ToInt32() == prcs_dele.Id.ToInt32()); }))
                    {
                        this.ListBox2.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
                    }
                    if (process.NotbyProcessList == null || !process.NotbyProcessList.Exists(delegate(Process.MODEL prcs_dele) { return(prcs.Id.ToInt32() == prcs_dele.Id.ToInt32()); }))
                    {
                        this.ListBox4.Items.Add(new ListItem(String.Format("{0},{1}", prcs.StepNo, prcs.Name), prcs.StepNo.ToString()));
                    }
                }
            }
        }
Ejemplo n.º 7
0
        protected void SubmitData3(object sender, EventArgs e)
        {
            WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(14); //WX.Flow.Model.Flow.NewDataModel(rFlowId);
            flow.LoadProcessList(false);
            if (flow.GetProcessByStep(1).ExecIn(null) == 0)
            {
                ULCode.Debug.Alert(this, "程序出错,请联系管理员!");
                return;
            }
            int newRunId;

            if (WX.Request.rNotifyFileId > 0)
            {
                newRunId = WX.Request.rNotifyFile.RunID.ToInt32();
            }
            else
            {
                newRunId = flow.NewWork(flow.Name.ToString() + "——" + ui_title.Text);
            }
            this.Save(newRunId, 2);
            SaveData(3, newRunId);
            //返回处理结果或返回其它页面。
            Response.Redirect("MyFiles.aspx");
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Master.A_Edit)
     {
         Response.Write("你没有权限访问此功能!");
         Response.End();
         return;
     }
     if (Request["flowid"] != null)
     {
         try
         {
             fid = Convert.ToInt32(Request["flowid"]);
         }
         catch { }
         if (!IsPostBack)
         {
             WX.Flow.Model.Flow.MODEL model = WX.Flow.Model.Flow.GetCache(fid); //WX.Flow.Model.Flow.GetModel("select * from FL_Flows where ID=" + fid);
             if (model != null)
             {
                 model.LoadForm(false);
                 WX.Flow.Model.Form.MODEL formmodel = model.Form; //WX.Flow.Model.Form.GetModel("select * from FL_Forms where ID=" + model.FormId.value);
                 foreach (WX.Flow.FormField ff in formmodel.Items_FormFieldCollection)
                 {
                     drop_items.Items.Add(new ListItem(ff.Text, ff.Id));
                 }
             }
             //DataTable dt = ULCode.QDA.XSql.GetDataTable("select Name,StepNo from FL_Process where FlowId=" + fid);
             //for (int i = 0; i < dt.Rows.Count; i++)
             model.LoadProcessList(false);
             if (model.ProcessList != null)
             {
                 foreach (WX.Flow.Model.Process.MODEL prcs in model.ProcessList)
                 {
                     AUTO_PRCS_USER.Items.Add(new ListItem(prcs.Name.ToString(), prcs.StepNo.ToString()));
                 }
             }
             AUTO_PRCS_USER.SelectedValue = Request["id"];
             WX.Flow.Model.Process.MODEL procss = WX.Flow.Model.Process.GetCache(Convert.ToInt32(Request["id"]));//WX.Flow.Model.Process.GetModel("select * from FL_Process where Id="+Request["id"]);
             if (procss != null)
             {
                 WX.Data.Dict.BindListCtrl_enum_AutoOpMode(this.TOP_DEFAULT, null, null, procss.Auto_OPMode.ToString());
                 USER_LOCK.SelectedValue = procss.Auto_OpChangeMode.ToString();
                 WX.Data.Dict.BindListCtrl_enum_AutoSelOpFilter(this.USER_FILTER, null, null, procss.Auto_FilterMode.ToString());
                 WX.Data.Dict.BindListCtrl_enum_AutoSelOpType(this.AUTO_TYPE, null, null, procss.Auto_Type.ToString());
                 AUTO_PRCS_USER.SelectedValue = procss.Auto_BaseUnit.ToString();
                 drop_items.SelectedValue     = procss.Auto_Item.ToString();
                 AUTO_USER.Value = procss.Auto_UserList.ToString();
                 if (procss.Auto_UserList.ToString() != "")
                 {
                     AUTO_USER_NAME.Text = ULCode.QDA.XSql.GetXDataTable("SELECT RealName FROM TU_Employees WHERE UserID in('" + procss.Auto_UserList.ToString().Replace(",", "','") + "')").ToColValueList();
                 }
                 AUTO_USER_OP.Value = procss.Auto_UserOP.ToString();
                 if (procss.Auto_UserOP.ToString() != "")
                 {
                     AUTO_USER_OP_NAME.Text = ULCode.QDA.XSql.GetXDataTable("SELECT RealName FROM TU_Employees WHERE UserID in('" + procss.Auto_UserOP.ToString().Replace(",", "','") + "')").ToColValueList();
                 }
             }
         }
     }
 }
Ejemplo n.º 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            StringBuilder vmlBuilder  = new StringBuilder();
            StringBuilder lineBuilder = new StringBuilder();

            if (!IsPostBack)
            {
                WX.Flow.Model.Flow.MODEL flow = WX.Flow.Model.Flow.GetCache(this.FlowId); //WX.Flow.Model.Flow.NewDataModel(this.FlowId);
                flow.LoadProcessList(true);
                if (flow.ProcessList == null || flow.ProcessList.Count == 0)
                {
                    return;
                }

                foreach (WX.Flow.Model.Process.MODEL prcs in flow.ProcessList)
                {
                    if (!prcs.Next_Nodes.isEmpty)
                    {
                        string[] steps = prcs.Next_Nodes.ToString().Split(',');
                        foreach (string step in steps)
                        {
                            lineBuilder.AppendFormat("<v:line mfrID='{0}' title='' source='{0}' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n", prcs.StepNo);
                        }
                    }
                    if (prcs.StepNo.ToInt32() == 1)
                    {
                        vmlBuilder.AppendFormat("<v:oval id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType='start'  passCount='0'  flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#50A625' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:oval>\r\n");
                    }
                    else if (prcs.StepNo.ToInt32() == flow.ProcessList.Count)
                    {
                        vmlBuilder.Append("<v:oval id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType='end'  passCount='0'  flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#F4A8BD' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:oval>\r\n");
                    }
                    else
                    {
                        vmlBuilder.Append("<v:roundrect inset='2pt,2pt,2pt,2pt' id='" + prcs.StepNo.ToString() + "' table_id='" + prcs.Id.ToString() + "' flowId='" + prcs.FlowId.ToString() + "' flowType=''  passCount='0'  flowTitle='<b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#EEEEEE' onDblClick='Edit_Process(" + prcs.Id.ToString() + ");' style='LEFT: " + prcs.VML_Left.ToString() + "; TOP:" + prcs.VML_Top.ToString() + "; WIDTH: 100; POSITION: absolute; HEIGHT: 50;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + "暂无说明" + "'> <v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + prcs.StepNo.ToString() + "</b><br>" + prcs.Name.ToString() + "</v:textbox></v:roundrect>\r\n");
                    }
                }

                /*
                 * int rowCount = dataTable.Rows.Count;
                 * if (rowCount == 1)
                 * {
                 *  foreach (DataRow row in dataTable.Rows)
                 *  {
                 *      string[] steps = row["NextStep"].ToString().Split(',');
                 *      foreach (string step in steps)
                 *      {
                 *          lineBuilder.Append("<v:line mfrID='" + row["NodeId"] + "' title='' source='" + row["NodeId"] + "' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n");
                 *      }
                 *      vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='start'  passCount='0'  flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#50A625' onDblClick='Edit_Process(104);' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n");
                 *
                 *  }
                 * }
                 * else
                 * {
                 *  foreach (DataRow row in dataTable.Rows)
                 *  {
                 *      string[] steps = row["NextStep"].ToString().Split(',');
                 *      foreach (string step in steps)
                 *      {
                 *          lineBuilder.Append("<v:line mfrID='" + row["NodeId"] + "' title='' source='" + row["NodeId"] + "' object='" + step + "' from='0,0' to='0,0' style='position:absolute;display:none;z-index:2' arcsize='4321f' coordsize='21600,21600'><v:stroke endarrow='classic'></v:stroke><v:shadow on='T' type='single' color='#b3b3b3' offset='1px,1px'/></v:line>\r\n");
                 *      }
                 *      if (Convert.ToInt32(row["NodeId"]) == 1)
                 *      {
                 *          vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='start'  passCount='0'  flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#50A625' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n");
                 *      }
                 *      else if (Convert.ToInt32(row["NodeId"]) == rowCount)
                 *      {
                 *          vmlBuilder.Append("<v:oval id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType='end'  passCount='0'  flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#F4A8BD' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 120; POSITION: absolute; HEIGHT: 60;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'><v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:oval>\r\n");
                 *      }
                 *      else
                 *      {
                 *          vmlBuilder.Append("<v:roundrect inset='2pt,2pt,2pt,2pt' id='" + row["NodeId"] + "' table_id='" + row["ID"] + "' flowId='" + row["FlowID"] + "' flowType=''  passCount='0'  flowTitle='<b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "' flowFlag='0'  readOnly='0'  receiverID=''  receiverName=''  fillcolor='#EEEEEE' onDblClick='Edit_Process(" + row["FlowID"].ToString() + "," + row["NodeId"].ToString() + ");' style='LEFT: " + row["Left"] + "; TOP:" + row["Top"] + "; WIDTH: 100; POSITION: absolute; HEIGHT: 50;vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1' arcsize='4321f' coordsize='21600,21600' title='" + row["NodeDescription"].ToString() + "'> <v:shadow on='T' type='single' color='#b3b3b3' offset='3px,3px'/><v:textbox inset='1pt,2pt,1pt,1pt' onselectstart='return false;'><b>" + row["NodeId"] + "</b><br>" + row["NodeName"] + "</v:textbox></v:roundrect>\r\n");
                 *      }
                 *
                 *  }
                 * }
                 * */
                vmlString  = vmlBuilder.ToString();
                lineString = lineBuilder.ToString();
            }
        }