示例#1
0
        // POST: Teacher/DisplayAmericanQuestion
        //[HttpPost]
        //[ValidateAntiForgeryToken]
        public ActionResult DisplayAmericanQuestion(long ActivityId)
        {
            AmericanQuestionData quesData    = (AmericanQuestionData)rsContext.getActivity(ActivityId);
            TeacherData          teacherData = rsContext.getTeacher(User.Identity.Name);

            if (teacherData == null)
            {
                throw new ArgumentNullException(nameof(teacherData));
            }

            //RoomData roomData = teacherData.getRoomData();
            RoomData roomData = rsContext.getRoom(teacherData.RoomId);

            if (roomData == null)
            {
                throw new ArgumentNullException(nameof(roomData));
            }

            roomData.updateCurrentActivityId(quesData.id);
            rsContext.SaveChanges();

            AmericanQuestion ques = Adapting.getAmericanQuestionFromData(quesData);

            return(View(ques));
        }
示例#2
0
        public ActionResult SaveAmericanQuestion(AmericanQuestion ques)
        {
            TeacherData teacherData = rsContext.getTeacher(User.Identity.Name);

            if (ques.expID == -1)
            {
                ques.RoomId = teacherData.RoomId;
                AmericanQuestionData aqData = Adapting.getAmericanQuestionAsData(ques);
                rsContext.addActivity(aqData);
                rsContext.SaveChanges();
                return(RedirectToDashboard());
            }

            else
            {
                ques.RoomId = 0;
                AmericanQuestionData aqData = Adapting.getAmericanQuestionAsData(ques);
                rsContext.addActivity(aqData);
                ExperimentData experimentData = (ExperimentData)rsContext.getActivity(ques.expID);
                aqData.experimentOrder = experimentData.activities.Count;
                experimentData.addStep(aqData);
                rsContext.SaveChanges();
                return(RedirectToAction("EditExperiment", new { ExpID = ques.expID }));
            }
        }
示例#3
0
        public static AmericanQuestion getAmericanQuestionFromData(AmericanQuestionData aqData)
        {
            AmericanQuestion aq = new AmericanQuestion();

            aq.ActivityName   = aqData.ActivityName;
            aq.expID          = aqData.expID;
            aq.id             = aqData.id;
            aq.isMainActivity = aqData.isMainActivity;
            aq.RoomId         = aqData.RoomId;
            aq.Type           = aqData.Type;

            aq.question     = aqData.question;
            aq.explaination = aqData.explaination;

            aq.counterFirst  = aqData.counterFirst;
            aq.counterSecond = aqData.counterSecond;
            aq.counterThird  = aqData.counterThird;
            aq.counterFourth = aqData.counterFourth;
            aq.correctAnswer = aqData.correctAnswer;

            aq.firstAnswer  = aqData.firstAnswer;
            aq.secondAnswer = aqData.secondAnswer;
            aq.thirdAnswer  = aqData.thirdAnswer;
            aq.fourthAnswer = aqData.fourthAnswer;

            aq.studentsAnswers = new List <AnswerByPhone>();
            if (aqData.studentsAnswers != null)
            {
                foreach (AnswerByPhoneData abpData in aqData.studentsAnswers)
                {
                    aq.studentsAnswers.Add(getAnswerByPhoneFromData(abpData));
                }
            }
            return(aq);
        }
示例#4
0
        // GET: Student/AmericanQuestion
        public ActionResult AmericanQuestion(long activityId, string studentPhone, long studentRoom, long expId, int currActivityIndex, int numOfActivities)
        {
            AmericanQuestionData aqData = (AmericanQuestionData)rsContext.getActivity(activityId);

            TempData["Question"]          = aqData.question;
            TempData["studentPhone"]      = studentPhone;
            TempData["studentRoom"]       = studentRoom;
            TempData["activityId"]        = activityId;
            TempData["FirstAnswer"]       = aqData.firstAnswer;
            TempData["SecondAnswer"]      = aqData.secondAnswer;
            TempData["ThirdAnswer"]       = aqData.thirdAnswer;
            TempData["FourthAnswer"]      = aqData.fourthAnswer;
            TempData["expId"]             = expId;
            TempData["currActivityIndex"] = currActivityIndex;
            TempData["numOfActivities"]   = numOfActivities;

            if (currActivityIndex == 0) // first in exp activities
            {
                return(PartialView());
            }
            return(View());
        }
示例#5
0
        public ActionResult DisplaySubmitedAmericanQuestion(AmericanQuestionResponse aqr)
        {
            AmericanQuestionData aqData = (AmericanQuestionData)rsContext.getActivity(aqr.ActivityId);

            if (aqr.Answer == 1)
            {
                aqData.updateCounters(aqr.PhoneNumber, 1);
                aqData.AddAnswerToDictionary(aqData.id, aqr.PhoneNumber, "Answer 1", aqr.RoomId);
            }
            else if (aqr.Answer == 2)
            {
                aqData.updateCounters(aqr.PhoneNumber, 2);
                aqData.AddAnswerToDictionary(aqData.id, aqr.PhoneNumber, "Answer 2", aqr.RoomId);
            }
            else if (aqr.Answer == 3)
            {
                aqData.updateCounters(aqr.PhoneNumber, 3);
                aqData.AddAnswerToDictionary(aqData.id, aqr.PhoneNumber, "Answer 3", aqr.RoomId);
            }
            else if (aqr.Answer == 4)
            {
                aqData.updateCounters(aqr.PhoneNumber, 4);
                aqData.AddAnswerToDictionary(aqData.id, aqr.PhoneNumber, "Answer 4", aqr.RoomId);
            }

            rsContext.SaveChanges();

            if (aqr.ExpId == -1)
            {
                TempData["alertSuccessMessage"] = Resources.Resources.AnswerSubmitted;
                return(RedirectToAction("StudentLogin", "Account"));
            }
            else
            {
                return(RedirectToAction("Experiment", new { expId = aqr.ExpId, studentPhone = aqr.PhoneNumber, studentRoom = aqr.RoomId, currActivityIndex = aqr.CurrActivityIndex + 1 }));
            }
        }
示例#6
0
        public ActionResult GetUpdatedModelAmericanQuestion(long questionID)
        {
            AmericanQuestionData aqData = (AmericanQuestionData)rsContext.getActivity(questionID);
            var info           = new List <object>();
            var studentAnswers = new List <Object>();

            foreach (AnswerByPhoneData abpData in aqData.studentsAnswers)
            {
                StudentData studentData = rsContext.getStudent(abpData.Phone, abpData.RoomID);
                studentAnswers.Add(new { Phone = abpData.Phone, Answer = abpData.Answer, FirstName = studentData.FirstName, LastName = studentData.LastName });
            }

            info.Add(new
            {
                AnswersCount   = aqData.studentsAnswers.Count,
                CountFirst     = aqData.counterFirst,
                CountSecond    = aqData.counterSecond,
                CountThird     = aqData.counterThird,
                CountFourth    = aqData.counterFourth,
                StudentAnswers = studentAnswers
            });

            return(Json(info, JsonRequestBehavior.AllowGet));
        }