Esempio n. 1
0
        public int Insert(ProductAttribute2Info oParam)
        {
            string sql = @"INSERT INTO product_attribute2(ProductSysNo,Attribute2SysNo,Attribute2OptionSysNo,Attribute2Value)
                          VALUES(@ProductSysNo,@Attribute2SysNo,@Attribute2OptionSysNo,@Attribute2Value)";
            SqlCommand cmd = new SqlCommand(sql);

            SqlParameter paramProductSysNo = new SqlParameter("@ProductSysNo", SqlDbType.Int,4);
            SqlParameter paramAttribute2SysNo = new SqlParameter("@Attribute2SysNo", SqlDbType.Int,4);
            SqlParameter paramAttribute2OptionSysNo = new SqlParameter("@Attribute2OptionSysNo", SqlDbType.Int,4);
            SqlParameter paramAttribute2Value = new SqlParameter("@Attribute2Value", SqlDbType.NVarChar,2000);

            if ( oParam.ProductSysNo != AppConst.IntNull)
                paramProductSysNo.Value = oParam.ProductSysNo;
            else
                paramProductSysNo.Value = System.DBNull.Value;

            if( oParam.Attribute2SysNo != AppConst.IntNull)
                paramAttribute2SysNo.Value = oParam.Attribute2SysNo;
            else
                paramAttribute2SysNo.Value = System.DBNull.Value;

            if( oParam.Attribute2OptionSysNo != AppConst.IntNull)
                paramAttribute2OptionSysNo.Value = oParam.Attribute2OptionSysNo;
            else
                paramAttribute2OptionSysNo.Value = System.DBNull.Value;

            if( oParam.Attribute2Value !=  AppConst.StringNull)
                paramAttribute2Value.Value = oParam.Attribute2Value;
            else
                paramAttribute2Value.Value = System.DBNull.Value;

            cmd.Parameters.Add(paramProductSysNo);
            cmd.Parameters.Add(paramAttribute2SysNo);
            cmd.Parameters.Add(paramAttribute2OptionSysNo);
            cmd.Parameters.Add(paramAttribute2Value);

            return SqlHelper.ExecuteNonQuery(cmd);
        }
Esempio n. 2
0
        /// <summary>
        /// ������Ʒ����
        /// </summary>
        /// <param name="oParam"></param>
        public void UpdateAttribute2(int paramProductSysNo, Hashtable htText, Hashtable htOption)
        {
            TransactionOptions options = new TransactionOptions();
            options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
            options.Timeout = TransactionManager.DefaultTimeout;

            using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options))
            {

                Hashtable ht_Old = GetProductAttribute2Value(paramProductSysNo);
                ProductAttributeDac pa = new ProductAttributeDac();

                foreach (string key in htText.Keys)
                {
                    ProductAttribute2Info oParam = new ProductAttribute2Info();
                    oParam.ProductSysNo = paramProductSysNo;
                    oParam.Attribute2SysNo = int.Parse(key);
                    oParam.Attribute2Value = htText[key].ToString();
                    oParam.Attribute2OptionSysNo = 0;  //default value is 0

                    if (ht_Old != null && ht_Old.Count > 0 && ht_Old.ContainsKey(key))
                    {
                        pa.Update(oParam);
                    }
                    else
                    {
                        pa.Insert(oParam);
                    }
                }

                foreach (string key in htOption.Keys)
                {
                    ProductAttribute2Info oParam = new ProductAttribute2Info();
                    oParam.ProductSysNo = paramProductSysNo;
                    oParam.Attribute2SysNo = int.Parse(key);
                    oParam.Attribute2OptionSysNo = int.Parse(htOption[key].ToString());
                    oParam.Attribute2Value = ""; // default value is ""

                    if (ht_Old != null && ht_Old.Count > 0 && ht_Old.ContainsKey(key))
                    {
                        pa.Update(oParam);
                    }
                    else
                    {
                        pa.Insert(oParam);
                    }
                }

                if (ht_Old != null && ht_Old.Count > 0)
                {
                    foreach (string key in ht_Old.Keys)
                    {
                        if (!htText.ContainsKey(key) && !htOption.ContainsKey(key))
                        {
                            pa.DeleteProductAttribute2(paramProductSysNo, Util.TrimIntNull(key));
                        }
                    }
                }

                scope.Complete();
            }
        }