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); }
/// <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(); } }