public ActionResult Index(string languageId = null, string index = 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;

            TrackingViewModel model = new TrackingViewModel(languageId);

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

                model.SearchesByLanguage.Add(new TrackingByLanguage
                {
                    LanguageName = name,
                    LanguageId   = language.LanguageID,
                    Searches     = _trackingRepository
                                   .GetSearches(language.LanguageID, index)
                                   .OrderByDescending(kvp => kvp.Searches)
                                   .ToDictionary(d => d.Query, d => d.Searches)
                });

                model.SearchesWithoutHitsByLanguage.Add(new TrackingByLanguage
                {
                    LanguageName = name,
                    LanguageId   = language.LanguageID,
                    Searches     = _trackingRepository
                                   .GetSearchesWithoutHits(language.LanguageID, index)
                                   .OrderByDescending(kvp => kvp.Searches)
                                   .ToDictionary(d => d.Query, d => d.Searches)
                });
            }

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

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

                model.AddLanguage(
                    name,
                    id,
                    UniqueIndices,
                    _trackingRepository.GetSearches(id, CurrentIndex).OrderByDescending(kvp => kvp.Searches).ToDictionary(d => d.Query, d => d.Searches),
                    _trackingRepository.GetSearchesWithoutHits(id, CurrentIndex).OrderByDescending(kvp => kvp.Searches).ToDictionary(d => d.Query, d => d.Searches)
                    );
            }

            return(model);
        }
        public ActionResult Index()
        {
            var languages = _languageBranchRepository.ListEnabled()
                            .Select(lang => new { lang.LanguageID, lang.Name })
                            .ToArray();

            TrackingViewModel model = new TrackingViewModel(CurrentLanguage);

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

                model.SearchesByLanguage.Add(new TrackingByLanguage
                {
                    LanguageName = name,
                    LanguageId   = language.LanguageID,
                    Searches     = _trackingRepository
                                   .GetSearches(language.LanguageID)
                                   .OrderByDescending(kvp => kvp.Searches)
                                   .ToDictionary(d => d.Query, d => d.Searches)
                });

                model.SearchesWithoutHitsByLanguage.Add(new TrackingByLanguage
                {
                    LanguageName = name,
                    LanguageId   = language.LanguageID,
                    Searches     = _trackingRepository
                                   .GetSearchesWithoutHits(language.LanguageID)
                                   .OrderByDescending(kvp => kvp.Searches)
                                   .ToDictionary(d => d.Query, d => d.Searches)
                });
            }

            return(View("~/Views/ElasticSearchAdmin/Tracking/Index.cshtml", model));
        }