public ActionResult Edit(Guid id) { try { var codeSystem = this.AmiClient.GetCodeSystem(id.ToString()); if (codeSystem == null) { TempData["error"] = Locale.CodeSystemNotFound; return(RedirectToAction("Index")); } var model = new EditCodeSystemModel(codeSystem); return(View(model)); } catch (Exception e) { Trace.TraceError($"Unable to update code system: {e}"); this.TempData["error"] = Locale.UnexpectedErrorMessage; } return(RedirectToAction("Index")); }
public ActionResult Edit(EditCodeSystemModel model) { try { var codeSystem = this.AmiClient.GetCodeSystem(model.Id.ToString()); if (codeSystem == null) { TempData["error"] = Locale.CodeSystemNotFound; return(RedirectToAction("Index")); } if (!codeSystem.Oid.Equals(model.Oid)) { var exists = this.AmiClient.GetCodeSystems(c => c.Oid == model.Oid); if (exists != null && exists.CollectionItem.Any()) { ModelState.AddModelError("Oid", Locale.OidMustBeUnique); } } if (!codeSystem.Url.Equals(model.Url)) { var duplicate = this.AmiClient.GetCodeSystems(c => c.Url == model.Url); if (duplicate != null && duplicate.CollectionItem.Any()) { ModelState.AddModelError("Url", Locale.UrlMustBeUnique); } } if (!codeSystem.Authority.Equals(model.Domain)) { var duplicateDomainName = this.AmiClient.GetCodeSystems(c => c.Authority == model.Domain); if (duplicateDomainName != null && duplicateDomainName.CollectionItem.Any()) { ModelState.AddModelError("Domain", Locale.DomainNameMustBeUnique); } } if (ModelState.IsValid) { codeSystem = this.AmiClient.UpdateCodeSystem(model.Id.ToString(), model.ToCodeSystem(codeSystem)); TempData["success"] = Locale.CodeSystemUpdatedSuccessfully; return(RedirectToAction("ViewCodeSystem", new { id = codeSystem.Key })); } } catch (Exception e) { Trace.TraceError($"Unable to update code system: {e}"); } TempData["error"] = Locale.UnableToUpdateCodeSystem; return(View(model)); }