コード例 #1
0
        public ActionResult ModifyMeetMoneyShow(string meetMoneyID)
        {
            PromoteMeetMoneyModel promoteMeetMoneyModel;
            try
            {
                this.promoteMeetMoneyService = new PromoteMeetMoneyService();
                var promoteMeetMoney = this.promoteMeetMoneyService.QueryByID(int.Parse(meetMoneyID));
                promoteMeetMoneyModel = DataTransfer.Transfer<PromoteMeetMoneyModel>(
                    promoteMeetMoney,
                    typeof(Promote_MeetMoney));
                if (promoteMeetMoney != null)
                {
                    this.promoteMeetMoneyScopeService = new PromoteMeetMoneyScopeService();
                    var meetMoneyScope = this.promoteMeetMoneyScopeService.QueryByMeetMoneyID(int.Parse(meetMoneyID));
                    this.promoteMeetMoneyRuleService = new PromoteMeetMoneyRuleService();
                    var list = this.promoteMeetMoneyRuleService.QueryByMeetMoneyID(promoteMeetMoney.ID);
                    var promoteMeetMoneyList = new List<PromoteMeetMoneyRuleModel>();
                    foreach (var moneyRule in list)
                    {
                        promoteMeetMoneyList.Add(
                            DataTransfer.Transfer<PromoteMeetMoneyRuleModel>(moneyRule, typeof(Promote_MeetMoney_Rule)));
                    }

                    promoteMeetMoneyModel.MeetMoneyScope =
                        DataTransfer.Transfer<PromoteMeetMoneyScopeModel>(
                            meetMoneyScope,
                            typeof(Promote_MeetMoney_Scope));
                    promoteMeetMoneyModel.PromoteMeetMoneyRuleModelsList = promoteMeetMoneyList;
                }
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message, exception);
            }

            return this.Json(promoteMeetMoneyModel);
        }
コード例 #2
0
        /// <summary>
        /// 验证相同商品是否参与其他促销.
        /// </summary>
        /// <param name="scope">
        /// 促销商品 0、1字符串.
        /// </param>
        /// <param name="type">
        /// 类型:(0:添加新的促销活动,1:满额优惠,2:满件优惠).
        /// </param>
        /// <param name="typeID">
        /// The type ID.
        /// </param>
        /// <returns>
        /// 已参加活动的商品.
        /// </returns>
        private string VerifyPromote(string scope, int type, int typeID)
        {
            // 是否已参加促销活动
            #region 方案一:分组验证

            /*
            StringBuilder sb = new StringBuilder();

            var nowscope = new ArrayList();
            for (var i = 0; i * 50 < scope.Length; i++)
            {
                nowscope.Add(scope.Substring(i * 50, (i + 1) * 50));
            }

            // 查询现有促销的商品
            this.promoteMeetMoneyScopeService = new PromoteMeetMoneyScopeService();
            var list = this.promoteMeetMoneyScopeService.QueryAll();

            foreach (var promoteMeetMoneyScope in list)
            {
                var group = new ArrayList();
                for (var i = 0; i * 50 < promoteMeetMoneyScope.Scope.Length; i++)
                {
                    group.Add(promoteMeetMoneyScope.Scope.Substring(i * 50, (i + 1) * 50));
                }

                var count = group.Count < nowscope.Count ? group.Count : nowscope.Count; // 取值小的
                for (int i = 0; i < count; i++)
                {
                    var j = Convert.ToUInt64(group[i].ToString(), 2) & Convert.ToUInt64(nowscope[i].ToString(), 2);
                    if (j > 0)
                    {

                    }
                }
            }
            */

            #endregion

            #region 方案二:Product添加字段活动结束时间 标识字段

            /*
            // 获取所选商品编号
            var sb = new StringBuilder();
            for (int i = 0; i < scope.Length; i++)
            {
                if (scope.Substring(i, 1) == "1")
                {
                    sb.Append(i + 1 + ",");
                }
            }

            var productStr = sb.ToString(0, sb.Length - 1);

            // 在所选商品中查找已参加促销活动的商品
            this.productService = new ProductService();
            var list = this.productService.QueryPromoteProducts(productStr);
            if (list == null)
            {
                return string.Empty;
            }

            var productstr = new StringBuilder();
            foreach (var product in list)
            {
                productstr.Append(product.Name + ",");
            }
             */

            #endregion

            #region 方案三
            var productItems = new ArrayList(); // 已参加活动的商品
            var sb = new StringBuilder(); // 选择的商品已参加活动

            // 查询现有满额促销的商品
            this.promoteMeetMoneyScopeService = new PromoteMeetMoneyScopeService();
            var meetMoneyList = this.promoteMeetMoneyScopeService.QueryAll();

            // 修改时需去除本身的促销商品
            if (type == 1)
            {
                meetMoneyList.Remove(meetMoneyList.Find(m => m.MeetMoneyID == typeID));
            }

            foreach (var meetMoneyScope in meetMoneyList)
            {
                var products = meetMoneyScope.Scope.ToCharArray();
                for (var i = 0; i < products.Length; i++)
                {
                    if (products[i] == '1')
                    {
                        productItems.Add(i);
                    }
                }
            }

            // 查询现有满件促销的商品
            this.promoteMeetAmountScopeService = new PromoteMeetAmountScopeService();
            var meetAmountList = this.promoteMeetAmountScopeService.QueryAll();

            // 修改时需去除本身的促销商品
            if (type == 2)
            {
                meetAmountList.Remove(meetAmountList.Find(m => m.MeetAmountID == typeID));
            }

            foreach (var meetAmountScope in meetAmountList)
            {
                var products = meetAmountScope.Scope.ToCharArray();
                for (var i = 0; i < products.Length; i++)
                {
                    if (products[i] == '1')
                    {
                        productItems.Add(i);
                    }
                }
            }

            var newProducts = scope.ToCharArray();
            if (newProducts.Length > 0)
            {
                for (var i = 0; i < newProducts.Length; i++)
                {
                    if (newProducts[i] == '1' && productItems.Contains(i))
                    {
                        sb.Append(i + ",");
                    }
                }
            }

            #endregion

            return sb.ToString();
        }
コード例 #3
0
        /// <summary>
        /// 满额优惠详细页
        /// </summary>
        /// <param name="id">满额优惠编号</param>
        /// <returns>The <see cref="PartialViewResult"/></returns>
        public JsonResult MeetMoneyDetail(int id)
        {
            try
            {
                this.promoteMeetMoneyService = new PromoteMeetMoneyService();
                this.promoteMeetMoneyRuleService = new PromoteMeetMoneyRuleService();
                this.promoteMeetMoneyScopeService = new PromoteMeetMoneyScopeService();
                var promoteMeetMoney = this.promoteMeetMoneyService.QueryByID(id);
                var promoteMeetMoneyModel = DataTransfer.Transfer<PromoteMeetMoneyModel>(
                    promoteMeetMoney,
                    typeof(Promote_MeetMoney));
                var list = this.promoteMeetMoneyRuleService.QueryByMeetMoneyID(promoteMeetMoney.ID);
                var listmodel = new List<PromoteMeetMoneyRuleModel>();
                foreach (var promoteMeetMoneyRule in list)
                {
                    listmodel.Add(
                        DataTransfer.Transfer<PromoteMeetMoneyRuleModel>(
                            promoteMeetMoneyRule,
                            typeof(Promote_MeetMoney_Rule)));
                }

                var promoteMeetMoneyScope = this.promoteMeetMoneyScopeService.QueryByMeetMoneyID(promoteMeetMoney.ID);
                var promoteMeetMoneyScopeModel = DataTransfer.Transfer<PromoteMeetMoneyScopeModel>(
                    promoteMeetMoneyScope,
                    typeof(Promote_MeetMoney_Scope));
                promoteMeetMoneyModel.MeetMoneyScope = promoteMeetMoneyScopeModel;
                promoteMeetMoneyModel.PromoteMeetMoneyRuleModelsList = listmodel;
                return this.Json(promoteMeetMoneyModel);
            }
            catch (Exception exception)
            {
                throw new Exception(exception.Message, exception);
            }
        }