コード例 #1
0
        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"));
        }
コード例 #2
0
        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));
        }