public void PostCampaignrulesTest() { // TODO: add unit test for the method 'PostCampaignrules' CampaignRule body = null; // TODO: replace null with proper value var response = instance.PostCampaignrules(body); Assert.IsInstanceOf <CampaignRule> (response, "response is CampaignRule"); }
public void PutCampaignrulesCampaignruleIdTest() { // TODO: add unit test for the method 'PutCampaignrulesCampaignruleId' string campaignRuleId = null; // TODO: replace null with proper value CampaignRule body = null; // TODO: replace null with proper value var response = instance.PutCampaignrulesCampaignruleId(campaignRuleId, body); Assert.IsInstanceOf <CampaignRule> (response, "response is CampaignRule"); }
public ActionResult CreateUserReferenceOrder(UserReferenceOrderViewModel data) { try { using (MCContext ctx = new MCContext()) { var userReference = ctx.userReferences .AsQueryable() .Include(x => x.campaign) .Include(x => x.campaign.rules) .Include(x => x.orders) .FirstOrDefault(x => x.userId == data.userId); if (userReference == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Referans bulunmamaktadır.")); } if (userReference.status != Enums.ReferenceStatus.passive) { var activeRule = new CampaignRule(); if (userReference.orders.Any()) { var usedRules = userReference.orders.Select(x => x.campaignRuleId).ToList(); var existingRules = ctx.campaignRules.Where(x => usedRules.Contains(x.id)).ToList(); activeRule = userReference.campaign.rules.Except(existingRules).OrderBy(x => x.index).FirstOrDefault(); } else { activeRule = userReference.campaign.rules.OrderBy(x => x.index).FirstOrDefault(); } if (activeRule == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Kampanya kuralı bulunmamaktadır.")); } if (data.orderPrice < activeRule.atLeastPrice) { return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Sipariş tutarı en az harcama tutarının altındadır.")); } var deservedDiscount = activeRule.ruleType == Enums.RuleTypes.amount ? activeRule.count : (data.orderPrice * activeRule.count) / 100; if (ctx.userReferenceOrders.FirstOrDefault(x => x.orderId == data.orderId) == null) { ctx.userReferenceOrders.Add(new UserReferenceOrder() { activationDate = data.orderDate.AddDays(activeRule.activationDay), orderId = data.orderId, orderPrice = data.orderPrice, userReferenceId = userReference.id, orderState = Enums.OrderState.paid, deservedDiscount = deservedDiscount, campaignRuleId = activeRule.id }); ctx.SaveChanges(); return(new HttpStatusCodeResult(HttpStatusCode.OK, "Sipariş kaydı oluşturulmuştur.")); } else { return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Sipariş kaydı mevcuttur.")); } } else { return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Referans bağlantısı aktif olmadığı için sisteme kayıt atılmamaktadır.")); } } } catch (Exception ex) { ActivityService.LogException(ex); return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "İşlem sırasında bir hata oluştu.")); } }
public void Init() { instance = new CampaignRule(); }