public ActionResult Edit(Campaign campaign, string discountcodes) { if (ModelState.IsValid) { campaign.SetNumericalPrices(); db.Entry(campaign).State = EntityState.Modified; //remove all discount codes in db first, then we'll re-add the ones //submitted on edit page var remove = from r in db.DiscountCodes where r.CampaignID.Equals(campaign.CampaignID) select r; if (remove != null) { db.DiscountCodes.RemoveRange(remove); db.SaveChanges(); } List<string> codes = discountcodes.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); foreach (var item in codes) { if (!String.IsNullOrEmpty(item)) { DiscountCode itemcode = new DiscountCode(); itemcode.Code = item; itemcode.CampaignID = campaign.CampaignID; db.DiscountCodes.Add(itemcode); } } db.SaveChanges(); return RedirectToAction("Index"); } return View("Index", campaign); }
public ActionResult Validated(Campaign campaign, string discountcodes) { if (ModelState.IsValid) { campaign.SetNumericalPrices(); db.Campaigns.Add(campaign); db.SaveChanges(); int id = campaign.CampaignID; List<string> codes = discountcodes.Split(new[] { "\r\n" }, StringSplitOptions.None).ToList(); foreach (var item in codes) { if (!String.IsNullOrEmpty(item)) { DiscountCode itemcode = new DiscountCode(); itemcode.Code = item; itemcode.CampaignID = id; db.DiscountCodes.Add(itemcode); } } db.SaveChanges(); return RedirectToAction("Index"); } return View("Validate", campaign); }