public ActionResult Create(CallTariffViewModel viewModel) { if (!ModelState.IsValid) { return View(viewModel); } CallTariff callTariff = Mapper.Map<CallTariff>(viewModel); ServiceResult result = _callTarifService.AddCallTariff(callTariff); if (!result.IsValid) { result.Errors.ToList().ForEach(x => ModelState.AddModelError(x.Key.ToString(), x.Value)); return View(); } TempData["message"] = "Call Tarifs has been added"; return RedirectToAction("Index"); }
public ActionResult Edit(CallTariffViewModel viewModel) { if (viewModel == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } if (!ModelState.IsValid) { return View(viewModel); } CallTariff callTariff = _callTarifService.GetCallTariff(viewModel.ID); //http://stackoverflow.com/questions/5538974/the-relationship-could-not-be-changed-because-one-or-more-of-the-foreign-key-pro callTariff.CallTariffItems.ToList().ForEach(x => { callTariff.CallTariffItems.Remove(x); _callTarifService.RemoveCallTariff(x); }); Mapper.Map(viewModel, callTariff); ServiceResult result = _callTarifService.UpdateCallTariff(callTariff); if (!result.IsValid) { result.Errors.ToList().ForEach(x => ModelState.AddModelError(x.Key.ToString(), x.Value)); return View(); } TempData["message"] = "Status has been edited"; return RedirectToAction("Index"); }