コード例 #1
0
        public ActionResult Edit(ReferenceTermViewModel model)
        {
            try
            {
                var referenceTerm = ImsiClient.Get <ReferenceTerm>(model.Id, null) as ReferenceTerm;

                if (referenceTerm == null)
                {
                    TempData["error"] = Locale.ReferenceTermNotFound;

                    return(RedirectToAction("Index"));
                }

                referenceTerm.CreationTime = DateTimeOffset.Now;
                referenceTerm.Mnemonic     = model.Mnemonic;

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

                TempData["success"] = Locale.ReferenceTermUpdatedSuccessfully;

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

            TempData["error"] = Locale.UnableToUpdateReferenceTerm;

            return(RedirectToAction("ViewReferenceTerm", "ReferenceTerm", new { id = model.Id }));
        }
コード例 #2
0
        public ActionResult Delete(Guid id)
        {
            try
            {
                var referenceTerm = ImsiClient.Get <ReferenceTerm>(id, null) as ReferenceTerm;

                if (referenceTerm == null)
                {
                    TempData["error"] = Locale.ReferenceTermNotFound;

                    return(RedirectToAction("Index"));
                }

                this.ImsiClient.Obsolete(referenceTerm);

                TempData["success"] = Locale.ReferenceTermDeactivatedSuccessfully;

                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                Trace.TraceError($"Unable to retrieve entity: { e }");
            }

            TempData["error"] = Locale.ReferenceTermNotFound;

            return(RedirectToAction("Index", "ReferenceTerm"));
        }
コード例 #3
0
        public ActionResult Edit(EditReferenceTermNameModel model)
        {
            try
            {
                var referenceTerm = ImsiClient.Get <ReferenceTerm>(model.ReferenceTermId.Value, null) as ReferenceTerm;

                if (referenceTerm == null)
                {
                    TempData["error"] = Locale.ReferenceTermNotFound;

                    return(RedirectToAction("Index", "ReferenceTerm"));
                }

                var index = referenceTerm.DisplayNames.FindIndex(c => c.Key == model.Id);

                if (index == -1)
                {
                    TempData["error"] = Locale.ReferenceTermNameNotFound;

                    return(RedirectToAction("Edit", "ReferenceTerm", new { referenceTerm.Key }));
                }

                referenceTerm.DisplayNames[index].Language = model.TwoLetterCountryCode;
                referenceTerm.DisplayNames[index].Name     = model.Name;

                var result = this.ImsiClient.Update <ReferenceTerm>(referenceTerm);

                TempData["success"] = Locale.ReferenceTermNameUpdatedSuccessfully;

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

            TempData["error"] = Locale.UnableToUpdateReferenceTerm;

            return(RedirectToAction("ViewReferenceTerm", "ReferenceTerm", new { id = model.ReferenceTermId }));
        }
コード例 #4
0
        public ActionResult Delete(Guid id, Guid refTermId)
        {
            try
            {
                var referenceTerm = ImsiClient.Get <ReferenceTerm>(refTermId, null) as ReferenceTerm;

                if (referenceTerm == null)
                {
                    TempData["error"] = Locale.ReferenceTermNotFound;

                    return(RedirectToAction("Index", "ReferenceTerm"));
                }

                var index = referenceTerm.DisplayNames.FindIndex(c => c.Key == id);

                if (index == -1)
                {
                    TempData["error"] = Locale.ReferenceTermNameNotFound;

                    return(RedirectToAction("Edit", "ReferenceTerm", new { referenceTerm.Key }));
                }

                referenceTerm.DisplayNames.RemoveAt(index);

                var result = this.ImsiClient.Update <ReferenceTerm>(referenceTerm);

                TempData["success"] = Locale.ReferenceTermNameDeletedSuccessfully;

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

            TempData["error"] = Locale.ReferenceTermNameNotFound;

            return(RedirectToAction("Index", "ReferenceTerm"));
        }