public ActionResult Create()
        {
            var model = new CreateReferenceTermModel
            {
                CodeSystemList       = this.GetCodeSystems().CollectionItem.ToSelectList("Oid", "Key", null, true).ToList(),
                LanguageList         = LanguageUtil.GetLanguageList().ToSelectList("DisplayName", "TwoLetterCountryCode", null, true).ToList(),
                TwoLetterCountryCode = Locale.EN
            };

            return(View(model));
        }
        public ActionResult Create(CreateReferenceTermModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var codeSystem = this.AmiClient.GetCodeSystem(model.CodeSystem);

                    if (codeSystem == null)
                    {
                        TempData["error"] = Locale.CodeSystemNotFound;

                        return(RedirectToAction("Index"));
                    }

                    var referenceTerm = model.ToReferenceTerm();
                    referenceTerm.CodeSystem = codeSystem;

                    var result = this.ImsiClient.Create(referenceTerm);

                    TempData["success"] = Locale.ReferenceTermCreatedSuccessfully;

                    return(RedirectToAction("ViewReferenceTerm", new { id = result.Key }));
                }
            }
            catch (Exception e)
            {
                Trace.TraceError($"Unable to retrieve entity: { e }");
            }

            TempData["error"] = Locale.UnableToCreateReferenceTerm;

            model.CodeSystemList = this.GetCodeSystems().CollectionItem.ToSelectList("Oid", "Key").ToList();
            model.LanguageList   = LanguageUtil.GetLanguageList().ToSelectList("DisplayName", "TwoLetterCountryCode").ToList();

            return(View(model));
        }