public ActionResult Create(Guid id, Guid?versionId) { try { var concept = this.GetConcept(id, versionId); if (concept == null) { TempData["error"] = Locale.ConceptNotFound; return(RedirectToAction("Index", "Concept")); } var model = new ConceptNameViewModel(concept) { LanguageList = this.RemoveExistingLanguages(LanguageUtil.GetLanguageList().ToSelectList("DisplayName", "TwoLetterCountryCode").ToList(), concept.ConceptNames) }; // if the concept has no names which are in english, we want to default the list to english if (concept.ConceptNames.All(c => c.Language != "en")) { model.TwoLetterCountryCode = Locale.EN; } return(View(model)); } catch (Exception e) { Trace.TraceError($"Unable to retrieve entity: { e }"); } TempData["error"] = Locale.ConceptNotFound; return(RedirectToAction("Index", "Concept")); }
public ActionResult Edit(ConceptNameViewModel model) { try { var concept = this.GetConcept(model.ConceptId.Value, model.ConceptVersionKey.Value); if (concept == null) { TempData["error"] = Locale.ConceptNotFound; return(RedirectToAction("Index", "Concept")); } concept.ConceptSetsXml = this.LoadConceptSets(model.ConceptId.Value); var index = concept.ConceptNames.FindIndex(c => c.Language == model.Language && c.Name == model.Name); if (index < 0) { TempData["error"] = Locale.LanguageCodeNotFound; return(RedirectToAction("Edit", "Concept", new { id = model.ConceptId, versionKey = model.ConceptVersionKey })); } concept.ConceptNames[index].Language = model.TwoLetterCountryCode; concept.ConceptNames[index].Name = model.DisplayName; concept.CreationTime = DateTimeOffset.Now; concept.VersionKey = null; var result = this.ImsiClient.Update <Concept>(concept); TempData["success"] = Locale.ConceptNameUpdatedSuccessfully; return(RedirectToAction("Edit", "Concept", new { id = result.Key, versionId = result.VersionKey })); } catch (Exception e) { Trace.TraceError($"Unable to retrieve concept: { e }"); } TempData["error"] = Locale.UnableToUpdateConcept; return(RedirectToAction("ViewConcept", "Concept", new { id = model.ConceptId, model.ConceptVersionKey })); }
public ActionResult Edit(Guid id, Guid versionId, Guid?langId, string langCode, string displayName) { Concept concept = null; try { concept = this.GetConcept(id, versionId); if (concept == null) { TempData["error"] = Locale.ConceptNotFound; return(RedirectToAction("Index", "Concept")); } var model = new ConceptNameViewModel(langCode, displayName, concept) { LanguageList = this.RemoveExistingLanguages(LanguageUtil.GetLanguageList().ToSelectList("DisplayName", "TwoLetterCountryCode", c => c.TwoLetterCountryCode == langCode, true).ToList(), concept.ConceptNames) }; // if the concept has no names which are in english, we want to default the list to english if (concept.ConceptNames.All(c => c.Language != "en")) { model.TwoLetterCountryCode = Locale.EN; } return(View(model)); } catch (Exception e) { Trace.TraceError($"Unable to update concept name: {e}"); } TempData["error"] = Locale.UnableToUpdateLanguage; if (concept != null) { return(RedirectToAction("ViewConcept", "Concept", new { id = concept.Key, concept.VersionKey })); } return(RedirectToAction("Index", "Concept")); }
public ActionResult Create(ConceptNameViewModel model) { try { var concept = this.GetConcept(model.ConceptId.Value, model.ConceptVersionKey); if (concept == null) { TempData["error"] = Locale.ConceptNotFound; return(RedirectToAction("Index", "Concept")); } concept.ConceptSetsXml = this.LoadConceptSets(model.ConceptId.Value); concept.CreationTime = DateTimeOffset.Now; concept.VersionKey = null; concept.ConceptNames.Add(new ConceptName { Language = model.TwoLetterCountryCode, Name = model.DisplayName }); var result = this.ImsiClient.Update <Concept>(concept); TempData["success"] = Locale.ConceptNameUpdatedSuccessfully; return(RedirectToAction("Edit", "Concept", new { id = result.Key, versionId = result.VersionKey })); } catch (Exception e) { Trace.TraceError($"Unable to retrieve entity: { e }"); } model.LanguageList = LanguageUtil.GetLanguageList().ToSelectList("DisplayName", "TwoLetterCountryCode").ToList(); TempData["error"] = Locale.UnableToAddConceptName; return(RedirectToAction("Index", "Concept")); }