public ActionResult Index(int ID)
        {
            try
            {
                var model = new TestIndexViewModel()
                {
                    ID = ID
                };

                return(View(model));
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    ViewBag.Message = "Function: TestController.Index_GET\n\nError: " + ex.Message;
                }
                else
                {
                    ViewBag.Message = "Function: TestController.Index_GET\n\nError: " + (ex.Message + "\n\nInnerException: " + ex.InnerException.Message);
                };
                Session["ErrorMessage"] = ViewBag.Message;
                return(RedirectToAction("InternalServerError", "Error"));
            };
        }
Ejemplo n.º 2
0
        // GET: Admin/Contenidos
        public ActionResult Index(int id, bool?mistakes)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var bloque = BloqueDataAccess.ObtenerBloques(db).Include(bl => bl.Area).Include(bl => bl.SubTema.Tema).FirstOrDefault(b => b.BloqueId == id);

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

            if (!ComprobarAccesoSubTema(bloque.SubTemaId))
            {
                return(RedirectToAction("SinAcceso", "Home", new { Area = "Alumno" }));
            }

            if (bloque.AreaId == 9)
            {
                return(RedirectToAction("SinAcceso", "Home", new { Area = "Alumno" }));
            }

            bool noMostrarMistakes = ContenidoHelper.MarcarEjercicioHecho(id);

            var         userId = ((ClaimsIdentity)HttpContext.User.Identity).FindFirst("UserId").Value;
            List <Test> tests  = new List <Test>();

            if (mistakes.GetValueOrDefault())
            {
                var mistakeIds = db.Mistakes.Where(mist => mist.BloqueId == id && mist.AlumnoId == userId).Select(mist => mist.PreguntaId).ToList();
                tests = db.Tests.Where(sk => sk.BloqueId == id && mistakeIds.Contains(sk.Id)).ToList();
            }
            else
            {
                tests = db.Tests.Where(sk => sk.BloqueId == id).ToList();
            }

            tests.Shuffle();

            TestIndexViewModel viewModel = new TestIndexViewModel();

            viewModel.bloque = bloque;
            viewModel.tests  = tests;
            if (noMostrarMistakes)
            {
                viewModel.mistakes = new List <int>();
            }
            else
            {
                viewModel.mistakes = db.Mistakes.Where(mist => mist.BloqueId == id && mist.AlumnoId == userId).Select(mist => mist.PreguntaId).ToList();
            }

            return(View(viewModel));
        }
Ejemplo n.º 3
0
        public IActionResult Index(string participantID, Sleepinesses?stanford)
        {
            var progress = _progressGetter.Get(participantID);
            var testName = _testNameGetter.Get(participantID);

            if (stanford.HasValue)
            {
                _stanfordRepository.Save(participantID, testName, stanford.Value);
            }
            var testAllImageTypes         = PhaseSetsGetter.TestOldImageTypes.Union(PhaseSetsGetter.TestNewImageTypes);
            var testInstructionsViewModel = _testInstructionsViewModelGetter.Get(participantID);
            var sessionID = Guid.NewGuid();
            var viewModel = new TestIndexViewModel(participantID, progress, testName, sessionID, _config.AttentionResetDisplayDurationInMilliseconds, _config.AutomateTests, _config.TestAutomationDelayInMilliseconds, testAllImageTypes, testInstructionsViewModel, _config.ImageTypesImageUrlTemplate, _config.ImageTypesAudioUrlTemplate);

            return(View(viewModel));
        }