Esempio n. 1
0
 public int GetPersonalDiscountPercent(OrderModel order, Person user)
 {
     var model = base.Model as PersonalCampaignModel;
     IEnumerable<LOrder> orders = Repository.Data.Get<LOrder>().Where(x => x.Customer.Id == user.Id).All();
     Decimal totalUserBuyimgAmount = orders.Where(x => x.CreateDate >= DateTime.Now.AddDays( - model.ExpirationPeriod) ).Sum(ord => ord.OrderSumma);
     return totalUserBuyimgAmount >= model.SummaryBought ? model.Percent : 0;
 }
        public ActionResult SubmitOrder(OrderModel orderModel)
        {
            ActionHelper.TryExecute(() => CartHelper.Source.SaveOrder(), ModelState);
            if (ModelState.IsValid)
            {
                SendEmail();
                HttpContext.Session[WebStroreResource.CART] = null;
                return View("OrderComplete");
            }

            return View("Index", CartHelper.Source.CalculateOrder());
        }
Esempio n. 3
0
        private void ApplyPersonalCampaign(OrderModel model, Person user)
        {
            IEnumerable<LCampaign> campains = Repository.Data.Get<LCampaign>().All().Where(x => x.Active);
            int personalDiscountPercent = 0;
            foreach (var campaign in campains.Where(x => x.Active))
            {
                var campaignType = (CampaignType) campaign.Metadata.CampaignType;
                if( campaignType == CampaignType.PersonalCampaign )
                {
                    PersonalCampaign personalCampaign = campaign.Metadata.Data;
                    int tempResult = personalCampaign.GetPersonalDiscountPercent(model, user);
                    if (tempResult >= personalDiscountPercent)
                        personalDiscountPercent = tempResult;
                }
            }

            model.PersonalDiscount = model.OrderSumma*personalDiscountPercent / 100;
        }