Example #1
0
 public CrmPromOfferCouponRule GetRule(int ruleId)
 {
     lock (RuleList)
     {
         foreach (CrmPromOfferCouponRule rule in RuleList)
         {
             if (rule.RuleId == ruleId)
             {
                 return(rule);
             }
         }
         CrmPromOfferCouponRule rule2 = CreateRule(ruleId);
         if (rule2 != null)
         {
             RuleList.Add(rule2);
         }
         return(rule2);
     }
 }
Example #2
0
        private CrmPromOfferCouponRule CreateRule(int ruleId)
        {
            CrmPromOfferCouponRule rule = null;
            DbConnection           conn = DbConnManager.GetDbConnection("CRMDB");
            DbCommand     cmd           = conn.CreateCommand();
            StringBuilder sql           = new StringBuilder();

            sql.Append("select FFXE,BJ_BFQGZ,BJ_TY,FFQDJE from YHQFFGZ where YHQFFGZID = ").Append(ruleId);
            cmd.CommandText = sql.ToString();
            try
            {
                try
                {
                    conn.Open();
                }
                catch (Exception e)
                {
                    throw new MyDbException(e.Message, true);
                }
                try
                {
                    DbDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        rule        = new CrmPromOfferCouponRule();
                        rule.RuleId = ruleId;
                        rule.MaxOfferCouponMoney = DbUtils.GetDouble(reader, 0);
                        rule.IsNoOfferCoupon     = ((DbUtils.GetBool(reader, 1)) || (DbUtils.GetBool(reader, 2)));
                        rule.MinSaleMoney        = DbUtils.GetDouble(reader, 3);
                        reader.Close();

                        sql.Length = 0;
                        sql.Append("select XSJE,FQJE,LPDM from YHQFFGZITEM where YHQFFGZID = ").Append(ruleId);
                        sql.Append("  and XSJE > 0 and FQJE >= 0 order by XSJE desc ");
                        cmd.CommandText = sql.ToString();
                        reader          = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            CrmPromOfferCouponRuleItem ruleItem = new CrmPromOfferCouponRuleItem();
                            rule.Items.Add(ruleItem);
                            ruleItem.SaleMoney        = DbUtils.GetDouble(reader, 0);
                            ruleItem.OfferCouponMoney = DbUtils.GetDouble(reader, 1);
                            ruleItem.GiftCode         = DbUtils.GetString(reader, 2);
                        }
                        reader.Close();
                    }
                    reader.Close();
                }
                catch (Exception e)
                {
                    if (e is MyDbException)
                    {
                        throw e;
                    }
                    else
                    {
                        throw new MyDbException(e.Message, cmd.CommandText);
                    }
                }
            }
            finally
            {
                conn.Close();
            }
            return(rule);
        }