Beispiel #1
0
 public ActionResult Index(int?UserID)
 {
     if (UserID != null)
     {
         ViewBag.Username = repository.getUserByID((int)UserID).Name.ToString();
         return(View(repository.UserResults.Where(u => u.UserId == UserID).OrderByDescending(r => r.TestTakenTime)));
     }
     ViewBag.Username = Session["User"].ToString();
     return(View(repository.UserResults.Where(u => u.UserId == repository.getUserByName(Session["User"].ToString()).ID).OrderByDescending(r => r.TestTakenTime)));
 }
 public ActionResult LoginUser(LoginViewModel model)
 {
     if (ModelState.IsValid)
     {
         User us = repository.getUserByName(model.Username);
         if (us != null && us.Password == model.Password && us.IsActive == "Yes")
         {
             HttpContext.Session["User"] = us.Name;
             return(RedirectToAction("List", "Tests"));
         }
         else
         {
             ModelState.AddModelError("Username", "არასწორი მომხმარებლის სახელი ან პაროლი ან მომხმარებელი არ არის გააქტიურებული");
             ModelState.AddModelError("Password", "არასწორი მომხმარებლის სახელი ან პაროლი ან მომხმარებელი არ არის გააქტიურებული");
             return(View("Login", model));
         }
     }
     else
     {
         return(View("Login", model));
     }
 }
        public ViewResult EditUser(string username)
        {
            ViewBag.NavBarActive = "მომხმარებლები";
            var us = repository.getUserByName(username);

            if (us != null)
            {
                return(View(us));
            }
            else
            {
                return(View());
            }
        }
        public ActionResult Index(TestViewModel t, string TimeEnd)
        {
            for (int i = ModelState.Keys.Count - 1; i >= 0; i--)
            {
                string k = ModelState.Keys.ElementAt(i);
                if (k != "TestID" && k != "SaveRatings")
                {
                    ModelState.Remove(k);
                }
            }
            t.Test = repository.getTestByID(t.TestID);
            if (t.CurrentAnswers != null && t.CurrentQuestionNumber != 0 && TimeEnd != "true")
            {
                if (isRightAnswer(t.CurrentAnswers))
                {
                    t.Point += t.CurrentQuestion.Point;
                }
            }
            if (t.CurrentQuestionNumber >= t.Test.validQuestions.Count())
            {
                UserResult res = new UserResult
                {
                    PointsEarned  = t.Point,
                    MaxPoint      = t.Test.maxPoint,
                    TestTakenTime = DateTime.Now,
                    TestId        = t.Test.ID,
                    UserId        = repository.getUserByName(Session["User"].ToString()).ID,
                    Test          = t.Test,
                    User          = repository.getUserByName(Session["User"].ToString())
                };
                if (t.SaveRatings == true)
                {
                    repository.addUserResult(res);
                }
                return(View("Result", res));
            }

            t.CurrentQuestionNumber++;
            Question q = t.Test.validQuestions.ToList().ElementAt(t.CurrentQuestionNumber - 1);

            t.CurrentQuestion = new QuestionViewModel {
                Text = q.Text, Point = q.Point, TimeForAnswer = q.TimeForAnswer
            };

            List <AnswerViewModel> ans = new List <AnswerViewModel>();

            while (ans.Count() != q.Answers.Count())
            {
                Random r = new Random();
                int    k = r.Next(q.Answers.Count);
                Answer a = q.Answers.ElementAt(k);
                if (!ans.Exists(answ => answ.ID == a.ID))
                {
                    ans.Add(new AnswerViewModel {
                        ID = a.ID, Text = a.Text, Checked = false
                    });
                }
            }
            t.CurrentAnswers = ans;

            return(View("NextQuestion", t));
        }