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.")); } }
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.")); } }