/// <summary>
        /// 增加流程定义
        /// </summary>
        /// <param name="wFModifyStatesDefine">流程定义对象实体</param>
        public static bool Add(WFModifyStatesDefineEntity entity)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("insert into WF_ModifyStatesDefine (");
            strSql.Append(" StateId,  StateName,  BusinessType,  ShowOrder,  DealPersonLevel,  DealDeptLevel,  DealPerson,  CreateTime,  CreatePerson, StateType)");
            strSql.Append(" values ( ");
            strSql.Append("@StateId, @StateName, @BusinessType, @ShowOrder, @DealPersonLevel, @DealDeptLevel, @DealPerson, @CreateTime, @CreatePerson, @StateType)");

            SqlParameter[] parameters = {
                new SqlParameter("@StateId", SqlDbType.UniqueIdentifier),
                new SqlParameter("@StateName", SqlDbType.NVarChar),
                new SqlParameter("@BusinessType", SqlDbType.Int),
                new SqlParameter("@ShowOrder", SqlDbType.Int),
                new SqlParameter("@DealPersonLevel", SqlDbType.Int),
                new SqlParameter("@DealDeptLevel", SqlDbType.Int),
                new SqlParameter("@DealPerson", SqlDbType.NVarChar),
                new SqlParameter("@CreateTime", SqlDbType.DateTime),
                new SqlParameter("@CreatePerson", SqlDbType.UniqueIdentifier),
                new SqlParameter("@StateType", SqlDbType.Int),

            };

            int i = 0;
            parameters[i++].Value = entity.StateId;
            parameters[i++].Value = entity.StateName;
            parameters[i++].Value = entity.BusinessType;
            parameters[i++].Value = entity.ShowOrder;
            parameters[i++].Value = entity.DealPersonLevel;
            parameters[i++].Value = entity.DealDeptLevel;
            parameters[i++].Value = entity.DealPerson;
            if (entity.CreateTime == DateTime.MinValue)
                entity.CreateTime = (DateTime)SqlDateTime.MinValue;
            parameters[i++].Value = entity.CreateTime;
            parameters[i++].Value = entity.CreatePerson;
            parameters[i++].Value = entity.StateType;

            return DataHelper.ExecuteNoneQuery(strSql.ToString(), parameters) > 0;
        }
        public static void AddWfDefinition(string StateName, int BusinessType, int StateType)
        {
            try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    var entity = new WFModifyStatesDefineEntity();
                    entity.StateId = Guid.NewGuid();
                    entity.StateName = StateName;
                    entity.BusinessType = BusinessType;
                    entity.StateType = StateType;
                    entity.ShowOrder = 0;
                    Add(entity);

                    var sql = string.Format(" delete from WF_ModifyStatesDealWayDefine where StateId='{0}' ",
                                            entity.StateId);
                    DataHelper.ExecuteNoneQuery(sql);

                    sql = string.Format("Insert into WF_ModifyStatesDealWayDefine values('{0}',NEWID(),'{1}')",
                                        entity.StateId, entity.StateName + "通过");
                    DataHelper.ExecuteNoneQuery(sql);

                    sql = string.Format("Insert into WF_ModifyStatesDealWayDefine values('{0}',NEWID(),'{1}')",
                                        entity.StateId, entity.StateName + "不通过");
                    DataHelper.ExecuteNoneQuery(sql);

                    scope.Complete();
                }

            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        /// <summary>
        /// 更新流程定义
        /// </summary>
        /// <param name="wF_ModifyStatesDefine">流程定义</param>
        /// <returns>bool</returns>
        public static bool Update(WFModifyStatesDefineEntity entity)
        {
            StringBuilder strSql = new StringBuilder();
            strSql.Append("update WF_ModifyStatesDefine set ");
            strSql.Append("StateId = @StateId, ");
            strSql.Append("StateName = @StateName, ");
            strSql.Append("BusinessType = @BusinessType, ");
            strSql.Append("ShowOrder = @ShowOrder, ");
            strSql.Append("DealPersonLevel = @DealPersonLevel, ");
            strSql.Append("DealDeptLevel = @DealDeptLevel, ");
            strSql.Append("DealPerson = @DealPerson, ");
            strSql.Append("CreateTime = @CreateTime, ");
            strSql.Append("CreatePerson = @CreatePerson, ");
            strSql.Append("StateType = @StateType ");
            strSql.Append(" where ");
            strSql.Append(" StateId = @StateId ");

            SqlParameter[] parameters = {
                new SqlParameter("@StateId", SqlDbType.UniqueIdentifier),
                new SqlParameter("@StateName", SqlDbType.NVarChar),
                new SqlParameter("@BusinessType", SqlDbType.Int),
                new SqlParameter("@ShowOrder", SqlDbType.Int),
                new SqlParameter("@DealPersonLevel", SqlDbType.Int),
                new SqlParameter("@DealDeptLevel", SqlDbType.Int),
                new SqlParameter("@DealPerson", SqlDbType.NVarChar),
                new SqlParameter("@CreateTime", SqlDbType.DateTime),
                new SqlParameter("@CreatePerson", SqlDbType.UniqueIdentifier),
                new SqlParameter("@StateType", SqlDbType.Int),

            };

            int i = 0;
            parameters[i++].Value = entity.StateId;
            parameters[i++].Value = entity.StateName;
            parameters[i++].Value = entity.BusinessType;
            parameters[i++].Value = entity.ShowOrder;
            parameters[i++].Value = entity.DealPersonLevel;
            parameters[i++].Value = entity.DealDeptLevel;
            parameters[i++].Value = entity.DealPerson;
            if (entity.CreateTime == DateTime.MinValue)
                entity.CreateTime = (DateTime)SqlDateTime.MinValue;
            parameters[i++].Value = entity.CreateTime;
            parameters[i++].Value = entity.CreatePerson;
            parameters[i++].Value = entity.StateType;

            return DataHelper.ExecuteNoneQuery(strSql.ToString(), parameters) > 0;
        }
        /// <summary>
        /// 获取实体信息
        /// </summary>
        /// <param name="row">数据行</param>
        /// <returns></returns>
        public static WFModifyStatesDefineEntity GetEntity(DataRow row)
        {
            WFModifyStatesDefineEntity entity = new WFModifyStatesDefineEntity();
            entity.StateId = Guid.Parse(row["StateId"].ToString());
            entity.StateName = row["StateName"].ToString();
            entity.BusinessType = Convert.ToInt32(row["BusinessType"]);
            entity.ShowOrder = Convert.ToInt32(row["ShowOrder"]);
            if (row["DealPersonLevel"] != DBNull.Value)
            {
                entity.DealPersonLevel = Convert.ToInt32(row["DealPersonLevel"]);
            }
            if (row["DealDeptLevel"] != DBNull.Value)
            {
                entity.DealDeptLevel = Convert.ToInt32(row["DealDeptLevel"]);
            }

            entity.DealPerson = row["DealPerson"].ToString();
            if (row["CreateTime"] != DBNull.Value)
                entity.CreateTime = Convert.ToDateTime(row["CreateTime"]);
            entity.CreatePerson = Guid.Parse(row["CreatePerson"].ToString());
            entity.StateType = Convert.ToInt32(row["StateType"]);

            return entity;
        }