public int SaveCartPricingRule(CartPricingRuleInfo objCartPriceRule, Int32 storeID, Int32 portalID, string userName, string culture, object parentID) { SQLHandler sqlH = new SQLHandler(); SqlTransaction tran; tran = (SqlTransaction) sqlH.GetTransaction(); PriceRuleSqlProvider priceRuleSqlProvider = new PriceRuleSqlProvider(); try { int cartPriceRuleID = -1; cartPriceRuleID = priceRuleSqlProvider.CartPriceRuleAdd(objCartPriceRule.CartPriceRule, tran, portalID,userName, culture); priceRuleSqlProvider.RuleConditionAdd(objCartPriceRule.lstRuleCondition,cartPriceRuleID,parentID, tran, portalID, userName,culture); foreach (CartPriceRuleRole cartPriceRuleRole in objCartPriceRule.lstCartPriceRuleRoles) { cartPriceRuleRole.CartPriceRuleID = cartPriceRuleID; priceRuleSqlProvider.CartPriceRuleRoleAdd(cartPriceRuleRole, tran, portalID, userName,culture); } foreach (CartPriceRuleStore cartPriceRuleStore in objCartPriceRule.lstCartPriceRuleStores) { cartPriceRuleStore.CartPriceRuleID = cartPriceRuleID; priceRuleSqlProvider.CartPriceRuleStoreAdd(cartPriceRuleStore, tran, portalID, userName,culture); } tran.Commit(); return cartPriceRuleID; } catch (SqlException sqlEX) { tran.Rollback(); throw new ArgumentException(sqlEX.Message); } catch (Exception ex) { tran.Rollback(); throw ex; } }