Example #1
0
        public virtual ActionResult General()
        {
            var model = new ResultsListViewModel()
            {
                Title               = "Wyniki wg ankiet",
                Results             = new List <ResultsViewModel>(),
                PearsonCorrelations = ResultsViewModel.Initialize(0, "Korelacja liniowa Pearsona", _resultsRepository.GetResultsPearsonCorrelations()),
                Legend              = LegendViewModel.General()
            };

            foreach (var questionnaire in _questionnairesRepository.GetList())
            {
                model.Results.Add(ResultsViewModel.Initialize(
                                      questionnaireId: questionnaire.QuestionnaireId,
                                      questionnaireName: questionnaire.Name,
                                      results: _resultsRepository.GetResultsGeneral(questionnaire.QuestionnaireId)));
            }

            return(View(MVC.Application.Results.Views.Results, model));
        }
Example #2
0
        public List <ResultsListViewModel> RetrieveSeasonMatches(int clubId, int seasonId)
        {
            var _matchProcessor = new MatchProcessor();
            var matches         = _matchProcessor.RetrieveSeasonMatchList(clubId, seasonId);
            List <ResultsListViewModel> results = new List <ResultsListViewModel>();

            foreach (var item in matches)
            {
                ResultsListViewModel result = new ResultsListViewModel();
                result.homeClub       = new ClubDetailsViewModel();
                result.guestClub      = new ClubDetailsViewModel();
                result.matchId        = item.Id;
                result.matchDateTime  = item.DateTime;
                result.homeGoals      = item.FirstOrgScore;
                result.homeClub.name  = item.FirstOrg.Name;
                result.guestGoals     = item.SecondOrgScore;
                result.guestClub.name = item.SecondOrg.Name;

                results.Add(result);
            }

            return(results);
        }
Example #3
0
        public JsonResult GetSearchResults(string[] term, string url)
        {
            var searchResult = _resultsFetcher.Fetch(term);
            var scraper      = new ResultsScraper(searchResult);
            var scraped      = scraper.GetSearchResults();

            var list = scraped
                       .AsEnumerable()
                       .Select((item, index) => new ResultViewModel()
            {
                Rank       = index + 1,
                Url        = item,
                Match      = !string.IsNullOrWhiteSpace(url) && item.Contains(url),
                MatchClass = !string.IsNullOrWhiteSpace(url) && item.Contains(url) ? "success" : "primary"
            });
            var viewModel = new ResultsListViewModel()
            {
                Summary = list.Count(x => x.Match) == 0 ? "none" : string.Join(",", list.Where(x => x.Match).Select(x => x.Rank)),
                Results = list
            };

            return(Json(viewModel, JsonRequestBehavior.AllowGet));
        }
Example #4
0
        public virtual ActionResult Details(int questionnaireId)
        {
            var results = _resultsRepository.GetResultDetails(questionnaireId);

            var model = new ResultsListViewModel()
            {
                Title   = _questionnairesRepository.GetById(questionnaireId).Name,
                Results = new List <ResultsViewModel>(),
                Legend  = LegendViewModel.Details()
            };

            var questionsIds = results.Select(x => x.QuestionId).Distinct();

            foreach (var questionId in questionsIds)
            {
                var question = _questionsRepository.GetById(questionId);

                var questionResults = new ResultsViewModel()
                {
                    Id               = questionId,
                    Text             = $"{question.OrderNumber}. {question.Text}",
                    Options          = _answersRepository.GetDescriptions(questionId),
                    DictionaryGroups = new List <DictionaryGroupViewModel>()
                };

                var dictionaryGroupNames = results.Select(x => x.DictionaryTypeName).Distinct();
                foreach (var dictionaryType in dictionaryGroupNames)
                {
                    var dictionaryGroup = new DictionaryGroupViewModel()
                    {
                        GroupName       = dictionaryType,
                        DictionaryItems = new List <DictionaryItemViewModel>()
                    };

                    var dictionaryItemsIds = results.Where(x => x.DictionaryTypeName == dictionaryType).Select(x => x.BaseDictionaryId).Distinct();
                    foreach (var itemId in dictionaryItemsIds)
                    {
                        var dictionaryItem = new DictionaryItemViewModel()
                        {
                            ItemName = _dictionariesRepository.GetById(itemId).Value,
                            Badge    = results.First(x => x.BaseDictionaryId == itemId).IntervieweeCount.ToString(),
                            Values   = new List <ValueViewModel>()
                        };

                        var answersIdList = results.Where(x => x.QuestionId == questionId).Select(x => x.AnswerId).Distinct();
                        foreach (var answerId in answersIdList)
                        {
                            var resultItem = results
                                             .Where(x => x.QuestionId == questionId)
                                             .Where(x => x.BaseDictionaryId == itemId)
                                             .Where(x => x.AnswerId == answerId)
                                             .FirstOrDefault();

                            var value = new ValueViewModel()
                            {
                                Badge      = resultItem.AnswersCount.ToString(),
                                Count      = resultItem.AnswersCount,
                                TotalCount = resultItem.TotalAnswersCount
                            };
                            value.SetValueByPercentage();

                            dictionaryItem.Values.Add(value);
                        }

                        dictionaryGroup.DictionaryItems.Add(dictionaryItem);
                    }

                    questionResults.DictionaryGroups.Add(dictionaryGroup);
                }

                model.Results.Add(questionResults);
            }

            return(View(MVC.Application.Results.Views.Results, model));
        }