Exemplo n.º 1
0
        private List <StatisticViewModel> GetStatisticViewModels()
        {
            List <StatisticViewModel> result = new List <StatisticViewModel>();

            LanguagesRepository             languagesRepository             = new LanguagesRepository();
            LanguagesTranslationsRepository languagesTranslationsRepository = new LanguagesTranslationsRepository();
            IEnumerable <Languages>         languages = languagesRepository.GetAll();
            List <int> languagesId = languages.Select(l => l.Id).ToList();
            List <CategoryStatistic> categoryStatistics = FillCategory();

            foreach (var languageId in languagesId)
            {
                IEnumerable <LanguageTranslations> languageTranslationsList = languagesTranslationsRepository.GetAll();
                var    id       = languageId;
                string langName = languageTranslationsList
                                  .First(l => l.LangId == id && l.NativeLangId == _userLanguageId).Translation;
                List <CategoryStatistic> listToCopy = Helper.DeepClone(categoryStatistics);
                result.Add(new StatisticViewModel
                {
                    LanguageName       = langName,
                    CategoryStatistics = listToCopy,
                    LanguageId         = languageId
                });
            }
            StatisticViewModel[] statisticArray = new StatisticViewModel[result.Count];
            for (int j = 0; j < statisticArray.Length; j++)
            {
                statisticArray[j] = FillResults(result[j]);
            }

            return(result);
        }
        public IActionResult GetAllLanguages()
        {
            List <Languages>            languages            = new LanguagesRepository().GetAll().ToList();
            List <LanguageTranslations> languageTranslations = new LanguagesTranslationsRepository().GetAll().ToList();
            var result = (from language in languages
                          join langTranslation in languageTranslations on language.Id equals langTranslation.LangId
                          where langTranslation.NativeLangId == language.Id
                          select new
            {
                Translation = langTranslation.Translation,
                Id = language.Id
            }).ToList();
            string json = JsonConvert.SerializeObject(result);

            return(Ok(json));
        }