/// <summary>
        /// 更新一条数据
        /// </summary>
        public static bool Update(TableExtFields tableExtFields, out string strMsg, string CustomValues)
        {
            try
            {
                bool          result  = false;
                SqlCommand    cmd     = null;
                StringBuilder sql     = null;
                SqlCommand    delcmd  = null;
                StringBuilder delsql  = null;
                ArrayList     cmdlist = new ArrayList();
                #region 更新前先删除
                delcmd = new SqlCommand();
                delsql = new StringBuilder();

                delsql.AppendLine("DELETE FROM  officedba.TableExtFields WHERE ModelNo=@ModelNo AND CompanyCD=CompanyCD ");

                delcmd.Parameters.AddWithValue("@ModelNo", SqlDbType.VarChar).Value   = tableExtFields.ModelNo;
                delcmd.Parameters.AddWithValue("@CompanyCD", SqlDbType.VarChar).Value = tableExtFields.CompanyCD;
                //delcmd.Parameters.AddWithValue("@BranchID", SqlDbType.Int).Value = Convert.ToInt32(tableExtFields.BranchID);
                delcmd.CommandText = delsql.ToString();
                cmdlist.Add(delcmd);
                #endregion
                string[] CustomValuesArray = CustomValues.Split('$');
                if (CustomValuesArray.Length > 0)
                {
                    for (int i = 0; i < CustomValuesArray.Length; i++)
                    {
                        cmd = new SqlCommand();
                        sql = new StringBuilder();

                        sql.AppendLine("insert into officedba.TableExtFields( ");
                        sql.AppendLine("FunctionModule,ModelNo,TabName,CompanyCD,EFIndex,EFDesc,EFType) ");
                        sql.AppendLine(" values ( ");
                        sql.AppendLine("@FunctionModule,@ModelNo,@TableName,@CompanyCD,@EFIndex,@EFDesc,'1')");

                        cmd.Parameters.AddWithValue("@FunctionModule", SqlDbType.VarChar).Value = tableExtFields.FunctionModule;
                        cmd.Parameters.AddWithValue("@ModelNo", SqlDbType.VarChar).Value        = tableExtFields.ModelNo;
                        cmd.Parameters.AddWithValue("@TableName", SqlDbType.VarChar).Value      = tableExtFields.TabName;
                        cmd.Parameters.AddWithValue("@CompanyCD", SqlDbType.VarChar).Value      = tableExtFields.CompanyCD;
                        //cmd.Parameters.AddWithValue("@BranchID", SqlDbType.Int).Value = Convert.ToInt32(tableExtFields.BranchID);
                        cmd.Parameters.AddWithValue("@EFIndex", SqlDbType.Int).Value    = (i + 1);
                        cmd.Parameters.AddWithValue("@EFDesc", SqlDbType.VarChar).Value = CustomValuesArray[i].ToString();

                        cmd.CommandText = sql.ToString();
                        cmdlist.Add(cmd);
                    }
                }
                result = SqlHelper.ExecuteTransWithArrayList(cmdlist);
                strMsg = "保存成功";
                return(result);
            }
            catch
            {
                strMsg = "保存失败";
                return(false);
            }
        }
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public static bool Add(TableExtFields tableExtFields, out string strMsg)
        {
            int  EFIndex = GetEFIndex(tableExtFields); //索引
            bool isSucc  = false;                      //是否成功

            if (EFIndex != 0)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("insert into officedba.TableExtFields(");
                strSql.Append("TabName,CompanyCD,EFIndex,EFDesc,EFType,EFValueList)");
                strSql.Append(" values (");
                strSql.Append("'officedba.ProductInfo',@CompanyCD,@EFIndex,@EFDesc,@EFType,@EFValueList)");
                tableExtFields.EFIndex = EFIndex;
                SqlParameter[] parameters =
                {
                    new SqlParameter("@CompanyCD",   SqlDbType.VarChar,  8),
                    new SqlParameter("@EFIndex",     SqlDbType.Int,      4),
                    new SqlParameter("@EFDesc",      SqlDbType.VarChar, 20),
                    new SqlParameter("@EFType",      SqlDbType.Char,     1),
                    new SqlParameter("@EFValueList", SqlDbType.VarChar, 256)
                };

                parameters[0].Value = tableExtFields.CompanyCD;
                parameters[1].Value = tableExtFields.EFIndex;
                parameters[2].Value = tableExtFields.EFDesc;
                parameters[3].Value = tableExtFields.EFType;
                parameters[4].Value = tableExtFields.EFValueList;
                foreach (SqlParameter para in parameters)
                {
                    if (para.Value == null)
                    {
                        para.Value = DBNull.Value;
                    }
                }

                try
                {
                    SqlHelper.ExecuteTransSql(strSql.ToString(), parameters);
                    isSucc = SqlHelper.Result.OprateCount > 0 ? true : false;
                    strMsg = "保存成功!";
                }
                catch (Exception ex)
                {
                    strMsg = "保存失败,请联系系统管理员!";
                    isSucc = false;
                    throw ex;
                }
            }
            else
            {
                strMsg = "已达最大数量,您不能添加新的商品特性!";
            }
            return(isSucc);
        }
        /// <summary>
        /// 获取索引
        /// </summary>
        /// <returns></returns>
        private static int GetEFIndex(TableExtFields tableExtFields)
        {
            int    EFIndex = 0; //索引
            int    iCount  = 0; //使用字段合计
            string strSql  = string.Empty;

            strSql = "select count(1) as EFIndex from officedba.TableExtFields where CompanyCD=@CompanyCD and TabName='officedba.ProductInfo'";
            SqlParameter[] parameters =
            {
                new SqlParameter("@CompanyCD", tableExtFields.CompanyCD)
            };
            iCount = Convert.ToInt32(SqlHelper.ExecuteScalar(strSql, parameters));
            //总使用扩展字段小于三十,获取索引,等于三十时不可添加新扩展字段
            if (iCount < 30)
            {
                strSql = "select isnull(max(EFIndex),0) as EFIndex from officedba.TableExtFields where CompanyCD=@CompanyCD and TabName='officedba.ProductInfo'";
                SqlParameter[] parameters1 =
                {
                    new SqlParameter("@CompanyCD", tableExtFields.CompanyCD)
                };
                EFIndex = Convert.ToInt32(SqlHelper.ExecuteScalar(strSql, parameters1));
                //最大索引未到三十就使用最大索引+1作为当前索引
                if (EFIndex < 30)
                {
                    EFIndex += 1;
                }
                //当最大索引为三十时,查找小于三十的未被使用的索引
                if (EFIndex == 30)
                {
                    for (int i = 1; i < 30; i++)
                    {
                        strSql = "select count(1) as EFIndex from officedba.TableExtFields where CompanyCD=@CompanyCD and TabName='officedba.ProductInfo' and EFIndex=@EFIndex";
                        SqlParameter[] paras =
                        {
                            new SqlParameter("@CompanyCD", tableExtFields.CompanyCD),
                            new SqlParameter("@EFIndex",   i)
                        };
                        iCount = Convert.ToInt32(SqlHelper.ExecuteScalar(strSql, paras));
                        if (iCount == 0)
                        {
                            EFIndex = i;
                            break;
                        }
                    }
                }
            }
            return(EFIndex);
        }
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public static bool Update(TableExtFields tableExtFields, out string strMsg)
        {
            bool          isSucc = false;//是否成功
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update officedba.TableExtFields set ");
            strSql.Append("EFIndex=@EFIndex,");
            strSql.Append("EFDesc=@EFDesc,");
            strSql.Append("EFType=@EFType,");
            strSql.Append("EFValueList=@EFValueList");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID",          SqlDbType.Int,      4),
                new SqlParameter("@EFIndex",     SqlDbType.Int,      4),
                new SqlParameter("@EFDesc",      SqlDbType.VarChar, 20),
                new SqlParameter("@EFType",      SqlDbType.Char,     1),
                new SqlParameter("@EFValueList", SqlDbType.VarChar, 256)
            };
            parameters[0].Value = tableExtFields.ID;
            parameters[1].Value = tableExtFields.EFIndex;
            parameters[2].Value = tableExtFields.EFDesc;
            parameters[3].Value = tableExtFields.EFType;
            parameters[4].Value = tableExtFields.EFValueList;
            foreach (SqlParameter para in parameters)
            {
                if (para.Value == null)
                {
                    para.Value = DBNull.Value;
                }
            }

            try
            {
                SqlHelper.ExecuteTransSql(strSql.ToString(), parameters);
                isSucc = SqlHelper.Result.OprateCount > 0 ? true : false;
                strMsg = "保存成功!";
            }
            catch (Exception ex)
            {
                strMsg = "保存失败,请联系系统管理员!";
                isSucc = false;
                throw ex;
            }

            return(isSucc);
        }
Esempio n. 5
0
        public static bool Update(TableExtFields tableExtFields, out string strMsg)
        {
            bool   isSuc  = false;
            string remark = string.Empty;

            strMsg = "";
            try
            {
                isSuc = TableExtFieldsDBHelper.Update(tableExtFields, out strMsg);
                //设置操作成功标识
                remark = "成功";
            }
            catch (Exception ex)
            {
                //输出日志
                WriteSystemLog(ex, LogInfo.LogType.SYSTEM, LogInfo.SystemLogKind.SYSTEM_ERROR, ConstUtil.MODULEID_CUSTINFO_ExtAttribute);
                //设置操作成功标识
                remark = ConstUtil.LOG_PROCESS_FAILED;
                strMsg = "保存失败,请联系系统管理员!";
            }
            InsertLog(tableExtFields.EFDesc, ConstUtil.MODULEID_CUSTINFO_ExtAttribute, "officedba.TableExtFields", remark, "更新");
            return(isSuc);
        }
Esempio n. 6
0
        public static bool Update(TableExtFields tableExtFields, out string strMsg, string CustomValues)
        {
            bool   isSuc  = false;
            string remark = string.Empty;

            strMsg = "";
            try
            {
                isSuc = TableExtFieldsDBHelper.Update(tableExtFields, out strMsg, CustomValues);
                //设置操作成功标识
                remark = "成功";
            }
            catch (Exception ex)
            {
                //输出日志
                SellLogCommon.WriteSystemLog(ex, LogInfo.LogType.SYSTEM, LogInfo.SystemLogKind.SYSTEM_ERROR, "2081306");
                //设置操作成功标识
                remark = ConstUtil.LOG_PROCESS_FAILED;
                strMsg = "保存失败,请联系系统管理员!";
            }
            //SellLogCommon.InsertLog(tableExtFields.EFDesc, "2081306", "officedba.TableExtFields", remark, "更新");
            return(isSuc);
        }