Пример #1
0
        internal void FillResult(List <IPromotionRule> rules)
        {
            this.dataGridViewCostume.DataSource = null;
            if (this.Result == null)
            {
                this.Result = new List <TKeyValue <decimal, decimal> >();
            }
            foreach (var item in rules)
            {
                MJPromotionRule rule = (MJPromotionRule)item;
                this.Result.Add(new TKeyValue <decimal, decimal>(rule.HitMoney, rule.MinusMoney));
            }

            this.dataGridViewCostume.DataSource = Result;
        }
Пример #2
0
        public decimal SettlementMoney(List <InSalesPromotionCostumeInfo> infoList, SalesPromotion salesPromotion, decimal minDiscount, bool round)
        {
            List <IPromotionRule>         rules = salesPromotion.Rules;
            Dictionary <decimal, decimal> dict  = new Dictionary <decimal, decimal>();

            foreach (IPromotionRule item in rules)
            {
                MJPromotionRule rule = (MJPromotionRule)item;
                if (!dict.ContainsKey(rule.HitMoney))
                {
                    dict.Add(rule.HitMoney, rule.MinusMoney);
                }
            }
            decimal allPrice = 0;

            foreach (InSalesPromotionCostumeInfo info in infoList)
            {
                allPrice += (info.Price * info.BuyCount);
            }
            List <decimal> keyList = new List <decimal>();//dict.Keys.ToList();

            foreach (var item in dict.Keys)
            {
                keyList.Add(item);
            }
            keyList.Sort();
            for (int i = (keyList.Count - 1); i >= 0; i--)
            {
                decimal allPriceKey = keyList[i];
                if (allPrice >= allPriceKey)
                {
                    return(allPrice - dict[allPriceKey]);
                }
            }


            return(allPrice);
        }