Exemple #1
0
        public ActionResult quiz(string id)
        {
            int sklID = Convert.ToInt16(Session["sklID"].ToString());

            quizViewModel    model          = new quizViewModel();
            string           username       = Session["dev"].ToString();
            tbUserCredential userCredential = db.tbUserCredentials.Where(uc => uc.username.Equals(username)).Single();
            int      Uid    = userCredential.tbUser.userID;
            tbClient client = db.tbClients.Where(uc => uc.userID.Equals(Uid)).Single();
            int      devID  = client.tbDevelopers.FirstOrDefault().devID;
            tbSkill  skl    = db.tbSkills.Where(uc => uc.devID.Equals(devID) && uc.skillID.Equals(sklID)).Single();

            int i = Convert.ToInt16(id);

            List <tbQuestion> questions = db.tbQuestions.Where(q => q.skill.Equals(skl.name)).ToList();

            if (i < questions.Count)
            {
                ViewBag.count = questions.Count;

                int             Qid     = questions[i].qID;
                List <tbAnswer> answers = db.tbAnswers.Where(a => a.qID == Qid).ToList();



                model.tbSkill     = skl;
                model.tbQuestion  = questions;
                model.tbAnswer    = answers;
                model.tbDeveloper = client.tbDevelopers.FirstOrDefault();
                model.i           = i;
                model.score       = 0;
            }
            else
            {
                //quiz completed
            }

            return(View(model));
        }
Exemple #2
0
        public ActionResult quiz(quizViewModel model, string id, string skill, string dev, string skills, string scr)
        {
            int i     = Convert.ToInt16(id);
            int did   = Convert.ToInt16(dev);
            int skid  = Convert.ToInt16(skills);
            int score = Convert.ToInt16(scr);

            string ans = model.selectedAns;



            List <tbQuestion> questions = db.tbQuestions.Where(q => q.skill.Equals(skill)).ToList();
            int             total       = questions.Count;
            int             QidPrev     = questions[i - 1].qID;
            List <tbAnswer> answersPrev = db.tbAnswers.Where(a => a.qID == QidPrev).ToList();
            string          corrAns     = answersPrev.Find(item => item.isCorrect.Equals("Yes")).answer;

            if (ans.Equals(corrAns))
            {
                score = score + 1;
            }

            model.tbDeveloper = db.tbDevelopers.Where(d => d.devID.Equals(did)).Single();
            model.tbSkill     = db.tbSkills.Where(uc => uc.devID.Equals(did) && uc.skillID.Equals(skid)).Single();
            model.score       = score;
            if (i < questions.Count)
            {
                ViewBag.count = questions.Count;

                int Qid = questions[i].qID;

                List <tbAnswer> answers = db.tbAnswers.Where(a => a.qID == Qid).ToList();

                model.tbQuestion = questions;
                model.tbAnswer   = answers;

                model.i = i;
            }
            else
            {
                tbEvaluation eval = new tbEvaluation();
                eval.devID         = did;
                eval.skill         = skill;
                eval.date          = System.DateTime.Today.ToString("yyyy-MM-dd");
                eval.score         = score;
                model.tbEvaluation = eval;

                //int perc = (score / total) ;
                //model.tbEvaluation.devID = did;
                //model.tbEvaluation.skill = skill;
                //model.tbEvaluation.date = System.DateTime.Today.ToString("yyyy-MM-dd");
                //model.tbEvaluation.score = score;
                string hourlyR;
                if (score < 7 && score >= 5)
                {
                    model.tbEvaluation.result = "Beginner";
                    hourlyR = "$10";
                }
                else if (score <= 8 && score >= 7)
                {
                    model.tbEvaluation.result = "Intermediate";
                    hourlyR = "$15";
                }
                else if (score <= 10 && score > 8)
                {
                    model.tbEvaluation.result = "Expert";
                    hourlyR = "$20";
                }
                else
                {
                    model.tbEvaluation.result = "Fail";
                    hourlyR = "Needs Re-evaluation";
                }

                db.tbEvaluations.Add(eval);
                db.SaveChanges();
                int    evalid  = model.tbEvaluation.evalID;
                string evalRes = model.tbEvaluation.result;

                var query = from proj in db.tbDevelopers where proj.devID == did select proj;

                foreach (tbDeveloper developer in query)
                {
                    developer.tbClient.isProfileComplete = "No";
                    developer.tbClient.actionCont        = "locDetails";
                }
                db.SaveChanges();

                var query1 = from proj in db.tbSkills where proj.skillID == skid && proj.devID == did select proj;

                foreach (tbSkill skl in query1)
                {
                    skl.skillLevel = evalRes;
                    skl.hourlyRate = hourlyR;
                }

                db.SaveChanges();

                return(RedirectToAction("evalRes", "Developer", new { id = skid }));
            }


            return(View(model));
        }