Пример #1
0
        public JsonResult GetTechniqueData(DataSource source = DataSource.Old)
        {
            var attempts = AttemptRepository.GetAttempts(source);
            var count    = AttemptRepository.GetTestCount(source);
            var info     = new TechniqueInformationViewModel(attempts, count);

            return(Json(info, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        private static TestDataViewModel GetTest(DataSource source)
        {
            if (TestViewModels.ContainsKey("average"))
            {
                return(TestViewModels["average"]);
            }
            TestViewModels.Add("average", new TestDataViewModel("average"));


            if (Tests.Count != AttemptRepository.GetTestCount(source))
            {
                Tests.Clear();
                foreach (var test in AttemptRepository.GetTests(source))
                {
                    Tests.Add(test.ID, test);
                }
            }

            var tests = Tests.Values.ToList();

            var averageHitPercentagePerGesture = GetAverageHitPercentagePerTurn(tests);
            var averageTimePerTargetPerGesture = GetAverageTimePerTarget(tests);


            foreach (var gesture in AllGestures)
            {
                GestureInfo info = new GestureInfo();
                info.HitData       = GetJSPercentageArray(averageHitPercentagePerGesture[gesture], gesture);
                info.TimeData      = GetJSTimeArray(averageTimePerTargetPerGesture[gesture], gesture);
                info.HitPercentage = averageHitPercentagePerGesture[gesture].Last() * 100f;

                List <Attempt> attempts = new List <Attempt>();
                foreach (var test in tests)
                {
                    attempts.AddRange(test.Attempts[gesture]);
                }

                TestViewModels["average"].GestureInformation[GetGestureTypeString(gesture)] = info;
            }

            return(TestViewModels["average"]);
        }
Пример #3
0
        public ActionResult UserInfo(string testId, DataSource source = DataSource.Old)
        {
            if (testId == null)
            {
                testId = "average";
            }

            int totalCount = AttemptRepository.GetTestCount(source);

            if (testId == "average")
            {
                ViewBag.NextLink = 1;
                ViewBag.PrevLink = totalCount;
            }
            else
            {
                int curr = Int32.Parse(testId);
                if (curr + 1 > totalCount)
                {
                    ViewBag.NextLink = "average";
                }
                else
                {
                    ViewBag.NextLink = (curr + 1).ToString();
                }
                if (curr - 1 < 1)
                {
                    ViewBag.PrevLink = "average";
                }
                else
                {
                    ViewBag.PrevLink = (curr - 1).ToString();
                }
            }

            return(View(TestDataViewModelFactory.GetTest(testId, source)));
        }