Пример #1
0
        public ActionResult UpdateCampaignRule(CampaignRuleViewModel model)
        {
            try
            {
                using (MCContext ctx = new MCContext())
                {
                    var rule = ctx.campaignRules.FirstOrDefault(x => x.id == model.campaignRuleId);
                    if (rule == null)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.NotFound, "Böyle bir veri mevcut değildir."));
                    }
                    var campaignRule = ctx.campaignRules
                                       .FirstOrDefault(x => x.campaignId == model.campaignId &&
                                                       x.campaign.isActive &&
                                                       x.name.Equals(model.name, StringComparison.InvariantCulture) &&
                                                       x.id != model.campaignRuleId);
                    if (campaignRule != null)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Kural sistemde zaten mevcut."));
                    }

                    var enableToUpdate = ctx.userReferenceOrders.FirstOrDefault(x => x.campaignRuleId == model.campaignRuleId && x.userReference.campaign.isActive && x.userReference.status != Enums.ReferenceStatus.passive) == null;
                    if (!enableToUpdate)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Güncellemek istediğiniz kural aktif bir siparişe atandığı için güncelleyemezsiniz."));
                    }
                    var indexExists = ctx.campaignRules
                                      .FirstOrDefault(x => x.index == model.index &&
                                                      x.campaign.isActive &&
                                                      x.campaignId == model.campaignId &&
                                                      x.id != model.campaignRuleId) != null;
                    if (indexExists)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Girdiğiniz sırada kural zaten mevcut. Lütfen farklı bir sıra numarası ile tekrar deneyiniz."));
                    }
                    rule.index         = model.index;
                    rule.name          = model.name;
                    rule.modifiedDate  = DateTime.Now;
                    rule.ruleType      = model.ruleType;
                    rule.description   = model.description;
                    rule.count         = model.count;
                    rule.atLeastPrice  = model.atLeastPrice;
                    rule.activationDay = model.activationDay;
                    ctx.SaveChanges();
                    return(Json(new { responseText = "Kural başarıyla güncellendi." }, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                ActivityService.LogException(ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "İşlem sırasında bir hata oluştu."));
            }
        }
Пример #2
0
 public ActionResult AddCampaignRule(CampaignRuleViewModel model)
 {
     try
     {
         using (MCContext ctx = new MCContext())
         {
             var campaignRule = ctx.campaignRules
                                .FirstOrDefault(x => x.campaignId == model.campaignId &&
                                                x.campaign.isActive &&
                                                x.name.Equals(model.name, StringComparison.InvariantCulture));
             if (campaignRule != null)
             {
                 return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Kural sistemde zaten mevcut."));
             }
             var indexExists = ctx.campaignRules.FirstOrDefault(x => x.index == model.index && x.campaign.isActive && x.campaignId == model.campaignId) != null;
             if (indexExists)
             {
                 return(new HttpStatusCodeResult(HttpStatusCode.Conflict, "Girdiğiniz sırada kural zaten mevcut. Lütfen farklı bir sıra numarası ile tekrar deneyiniz."));
             }
             ctx.campaignRules.Add(new CampaignRule()
             {
                 activationDay = model.activationDay,
                 atLeastPrice  = model.atLeastPrice,
                 count         = model.count,
                 description   = model.description,
                 index         = model.index,
                 name          = model.name,
                 ruleType      = model.ruleType,
                 campaignId    = model.campaignId
             });
             ctx.SaveChanges();
             return(Json(new { responseText = "Kural başarıyla kaydedildi." }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         ActivityService.LogException(ex);
         return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "İşlem sırasında bir hata oluştu."));
     }
 }