// GET: Student
 public ActionResult Index(StudentLoginViewModel model)
 {
     if (Validate(model))
         return RedirectToAction("ViewRoomOrWaitingScreen", "Student", model);
     TempData["alertMessage"] = "Login invalid";
     return RedirectToAction("StudentLogin", "Account");
 }
 private bool Validate(StudentLoginViewModel model)
 {   
     StudentData sData = rsContext.getStudent(model.PhoneNumber, model.Room);
     if (rsContext.getRoom(model.Room) != null && sData != null && sData.RoomId == model.Room)
         return true;
     return false;
 }
        // GET: Student/ViewRoomOrWaitingScreen
        public ActionResult ViewRoomOrWaitingScreen(StudentLoginViewModel model)
        {
            RoomData roomData = rsContext.getRoom(model.Room);
            ActivityData activityData = rsContext.getActivity(roomData.CurrentActivityId);
            if (activityData == null)
            {
                //Waiting Screen
                return RedirectToAction("Wait", model);
            }
            else
            {
                if (activityData is TrueFalseQuestionData)
                {
                    //True/False Question
                    TrueFalseQuestion tfq = (TrueFalseQuestion)Adapting.getTrueFalseQuestionFromData((TrueFalseQuestionData)activityData);
                    return RedirectToAction("TrueFalseQuestion", new { expId = -1, currActivityIndex = -1, activityId = tfq.id, numOfActivities = 0, studentPhone = model.PhoneNumber, studentRoom = model.Room });
                }
                else if (activityData is ShortAnswerQuestionData)
                {
                    //Short Answer Question
                    ShortAnswerQuestion saq = (ShortAnswerQuestion)Adapting.getShortAnswerQuestionFromData((ShortAnswerQuestionData)activityData);
                    return RedirectToAction("ShortAnswerQuestion", new { expId = -1, currActivityIndex = -1, activityId = saq.id, numOfActivities = 0, studentPhone = model.PhoneNumber, studentRoom = model.Room });
                }
                else if (activityData is AmericanQuestionData)
                {
                    //American Answer Question
                    AmericanQuestion aq = (AmericanQuestion)Adapting.getAmericanQuestionFromData((AmericanQuestionData)activityData);
                    return RedirectToAction("AmericanQuestion", new { expId = -1, currActivityIndex = -1, activityId = aq.id, numOfActivities = 0, studentPhone = model.PhoneNumber, studentRoom = model.Room });
                }

                else if (activityData is ExperimentData)
                {
                    // Experiment
                    Experiment exp = (Experiment)Adapting.getExperimentFromData((ExperimentData)activityData);
                    if(exp.ActiveExpID == 0)
                    {
                        //Waiting Screen
                        return RedirectToAction("Wait", model);
                    }
                    return RedirectToAction("GroupCreation", new { expId = exp.id, studentPhone = model.PhoneNumber, studentRoom = model.Room, currActivityIndex = 0 });
                }
            }

            return View();
        }
 // GET: Student/Wait
 public ActionResult Wait(StudentLoginViewModel studentLogin)
 {
     return View(studentLogin);
 }