Exemplo n.º 1
0
        public Page2()
        {
            InitializeComponent();
            var vm = new UserTestViewModel();

            vm.OnUpdateView = OnUpdateWebView;
            DataContext     = vm;
        }
Exemplo n.º 2
0
 public Page3()
 {
     InitializeComponent();
     source.ItemsPerPage           = 25;
     emotionList.ItemsSource       = source;
     emotionList.SelectionChanged += emotionPanel_SelectionChanged;
     ImageResourceManager.Emotion.Reset();
     DataContext = new UserTestViewModel();
     BuildLocalizedApplicationBar();
     //replyText.GotFocus += replyText_GotFocus;
     //replyText.LostFocus += replyText_LostFocus;
 }
        public void AddAthlete(UserTestViewModel user)
        {
            UserTestMapper UserTest  = new UserTestMapper();
            var            UserExist = context.UserTestMappers.Where(t => t.TestID == TestId).Select(u => u.User.Name).ToList();
            int            User      = context.Users.Where(u => u.Name == user.Name).Select(u => u.ID).FirstOrDefault();

            if (!UserExist.Contains(user.Name))
            {
                UserTest.TestID = TestId;
                UserTest.UserID = User;
                if (user.Distance != null)
                {
                    UserTest.CooperTestDistance = user.Distance;
                    UserTest.FitnessRating      = CalculateFitness(user.Distance);
                }
                else
                {
                    UserTest.SprintTestTime = user.Time;
                }
                context.UserTestMappers.Add(UserTest);
            }
            else
            {
                var UpdateUser = context.UserTestMappers.Where(u => u.User.Name == user.Name).Where(u => u.TestID == TestId).FirstOrDefault();

                if (user.Distance != null)
                {
                    UpdateUser.CooperTestDistance = user.Distance;
                    UpdateUser.FitnessRating      = CalculateFitness(user.Distance);
                }
                else
                {
                    UpdateUser.SprintTestTime = user.Time;
                }
                context.UserTestMappers.Update(UpdateUser);
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Index()
        {
            var admin = await this.userManager.GetUserAsync(HttpContext.User);

            var adminId = admin.Id;

            //cache
            if (!cache.TryGetValue(adminId, out IEnumerable <TestDto> authorTests))
            {
                authorTests = adminService.GetTestsByAuthor(adminId).ToList();

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetSlidingExpiration(TimeSpan.FromMinutes(5))
                                        .SetAbsoluteExpiration(TimeSpan.FromMinutes(20));

                cache.Set(adminId, authorTests, cacheEntryOptions);
            }

            if (!cache.TryGetValue("TestResults", out IEnumerable <UserTestDto> userResults))
            {
                userResults = adminService.GetUserResults().ToList();

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                                        .SetSlidingExpiration(TimeSpan.FromMinutes(5))
                                        .SetAbsoluteExpiration(TimeSpan.FromMinutes(20));;

                cache.Set("TestResults", userResults, cacheEntryOptions);
            }

            //var userResults = adminService.GetUserResults().ToList();
            //var authorTests = adminService.GetTestsByAuthor(adminId).ToList();

            // Model creating
            var userResultsList = new List <UserTestViewModel>();
            var authorTestsList = new List <TestViewModel>();

            // UserTestViewModels creating
            foreach (var userResult in userResults)
            {
                var currentModel = new UserTestViewModel()
                {
                    TestName      = userResult.Test.Title,
                    UserName      = userResult.User.UserName,
                    Category      = tests.GetCategoryNameByTestId(userResult.TestId),
                    RequestedTime = tests.GetTestRequestedTime(userResult.TestId),
                    ExecutionTime = (int)userResult.ExecutionTime.TotalMinutes,
                    Result        = (userResult.IsPassed) ? "Passed" : "Failed"
                };

                userResultsList.Add(currentModel);
            }

            // TestViewModels creating
            foreach (var authorTest in authorTests)
            {
                var currentModel = new TestViewModel()
                {
                    Id           = authorTest.Id.ToString(),
                    TestName     = authorTest.Title,
                    CategoryName = authorTest.Category.Name,
                    Status       = tests.GetStatusNameByTestId(authorTest.Id),
                    CreatedOn    = authorTest.CreatedOn
                };

                authorTestsList.Add(currentModel);
            }

            // IndexViewModel creating
            var model = new IndexViewModel()
            {
                AdminName   = admin.UserName,
                UserResults = userResultsList,
                Tests       = authorTestsList
            };

            return(View(model));
        }
Exemplo n.º 5
0
        public ActionResult MyTests(int?userId)
        {
            var userRepo = new UsersRepository();

            DataAccessLayer.Models.UserModel user = null;

            if (!userId.HasValue)
            {
                if (User.IsInRole("Admin"))
                {
                    return(HttpNotFound());
                }
                else
                {
                    user = userRepo.GetUserInfo(User.Identity.Name);
                }
            }
            else
            {
                user = userRepo
                       .GetAllUsers()
                       .Where(x => x.UserID == userId)
                       .FirstOrDefault();
                var checkingUser = userRepo.GetUserInfo(User.Identity.Name);

                if (!User.IsInRole("Admin") && user.UserID != checkingUser.UserID)
                {
                    return(HttpNotFound());
                }
            }

            if (user == null)
            {
                return(HttpNotFound());
            }

            var testRepo  = new TestRepository();
            var tests     = testRepo.GetAllTests();
            var viewTests = new List <UserTestViewModel>();

            foreach (var test in tests)
            {
                var questionsCount = testRepo.GetTestQuestions(test.TestID).Count;

                var sessions = testRepo.GetUserTestSessions(new DataAccessLayer.Models.UserTestModel
                {
                    TestID = test.TestID,
                    UserID = user.UserID
                });

                var lastSession = sessions.LastOrDefault(x => x.Time != null);

                var testView = new UserTestViewModel
                {
                    UserID            = user.UserID,
                    TestID            = test.TestID,
                    TestName          = test.TestName,
                    RemainingAttempts = test.AttemptsCount - sessions.Count,
                    LastScore         = lastSession == null ? 0 : lastSession.RightAnswers,
                    QuestionsCount    = questionsCount
                };

                viewTests.Add(testView);
            }

            var userResults = new UserResultsViewModel
            {
                UserName = string.Format("{0} {1} ({2})", user.LastName, user.FirstName, user.Login),
                Tests    = viewTests
            };

            return(View(userResults));
        }
Exemplo n.º 6
0
        public UserTestsPage()
        {
            InitializeComponent();

            BindingContext = viewModel = new UserTestViewModel();
        }
 public IActionResult AddAthlete([FromForm] UserTestViewModel athlete)
 {
     uof.Test.AddAthlete(athlete);
     uof.Save();
     return(RedirectToAction("TestDetails", new { id = testId }));
 }