Exemple #1
0
        public ActionResult Index(string index = null, string languageId = null)
        {
            var languages = _languageBranchRepository.ListEnabled()
                            .Select(lang => new { lang.LanguageID, lang.Name })
                            .ToArray();

            var indices = _indexHelper.GetIndices()
                          .Select(i => i.Index).ToList();

            if (String.IsNullOrWhiteSpace(index) || !indices.Contains(index))
            {
                index = indices.FirstOrDefault();
            }

            ViewBag.Indices       = indices.Count > 1 ? indices : null;
            ViewBag.SelectedIndex = index;

            if (languageId != null)
            {
                CurrentLanguage = languageId;
            }

            var model = new SynonymsViewModel(CurrentLanguage);

            foreach (var language in languages)
            {
                var name = language.Name;
                name = String.Concat(name.Substring(0, 1).ToUpper(), name.Substring(1));

                model.SynonymsByLanguage.Add(new LanguageSynonyms
                {
                    Analyzer     = Language.GetLanguageAnalyzer(language.LanguageID),
                    LanguageName = name,
                    LanguageId   = language.LanguageID,
                    Synonyms     = _synonymRepository.GetSynonyms(language.LanguageID, index)
                                   .Select(s =>
                    {
                        var key = s.From;
                        if (key.Contains("=>"))
                        {
                            key = key.Split(new[] { "=>" }, StringSplitOptions.None)[0].Trim();
                        }

                        return(new Synonym {
                            From = key, To = s.To, TwoWay = s.TwoWay
                        });
                    })
                                   .ToList()
                });
            }

            return(View("~/Views/ElasticSearchAdmin/Synonyms/Index.cshtml", model));
        }
Exemple #2
0
        private SynonymsViewModel GetModel()
        {
            var model = new SynonymsViewModel(CurrentLanguage);

            foreach (var language in Languages)
            {
                var name = language.Value;
                name = String.Concat(name.Substring(0, 1).ToUpper(), name.Substring(1));
                var indexName = SwapLanguage(CurrentIndex, language.Key);

                model.SynonymsByLanguage.Add(new LanguageSynonyms
                {
                    Analyzer        = Language.GetLanguageAnalyzer(language.Key),
                    LanguageName    = name,
                    LanguageId      = language.Key,
                    IndexName       = indexName,
                    Indices         = UniqueIndices,
                    HasSynonymsFile = !String.IsNullOrWhiteSpace(_synonymRepository.GetSynonymsFilePath(language.Key, indexName)),
                    Synonyms        = _synonymRepository.GetSynonyms(language.Key, CurrentIndex)
                                      .Select(s =>
                    {
                        var key = s.From;
                        if (key.Contains("=>"))
                        {
                            key = key.Split(new[] { "=>" }, StringSplitOptions.None)[0].Trim();
                        }

                        var fromDisplay = String.Join(", ", key.Split(','));
                        return(new Synonym {
                            From = fromDisplay, To = s.To, TwoWay = s.TwoWay, MultiWord = s.MultiWord
                        });
                    })
                                      .ToList()
                });
            }

            return(model);
        }