Exemplo n.º 1
0
        public ActionResult LearnRoad(int id)
        {
            var road = Db.Roads
                       .Include(p => p.RoadXRoadSteps.Select(u => u.RoadStep))
                       .FirstOrDefault(p => p.Id == id);
            var firstStepInRoad = road.GetStartingStep();

            if (firstStepInRoad == null)
            {
                var user = Db.AspNetUsers.FirstOrDefault(p => p.Id == road.UserId);
                Db.TrainingMessages.Add(
                    new TrainingMessage(
                        "Students are trying to learn road " + road.Name + ", but there are no road steps.", user,
                        user, road, null, null));
                Db.SaveChanges();
                return(RedirectToAction("Index", "Library"));
            }

            if (CurrentUserId == null)
            {
                return(RedirectToAction("Step", "Library", new { @id = firstStepInRoad.Id, @message = "Please login into your account to start learning." }));
            }

            var student = CurrentStudent;

            if (student == null)
            {
                student = new Student(CurrentUser);
                Db.Students.Add(student);
            }

            var roadStep         = Db.RoadSteps.FirstOrDefault(p => p.Id == firstStepInRoad.Id);
            var studentXRoadStep = new StudentXRoadStep(student, roadStep, LearningStatus.StudyingResources);

            student.StudentXRoadSteps.Add(studentXRoadStep);
            Db.SaveChanges();

            return(RedirectToAction("Step", "Library", new { @id = id }));
        }
Exemplo n.º 2
0
        public ActionResult LearnStep(int id)
        {
            if (CurrentUserId == null)
            {
                return(RedirectToAction("Step", "Library", new { @id = id, @message = "Please login into your account to start learning." }));
            }

            var student = CurrentStudent;

            if (student == null)
            {
                student = new Student(CurrentUser);
                Db.Students.Add(student);
            }

            var roadStep         = Db.RoadSteps.FirstOrDefault(p => p.Id == id);
            var studentXRoadStep = new StudentXRoadStep(student, roadStep, LearningStatus.StudyingResources);

            student.StudentXRoadSteps.Add(studentXRoadStep);
            Db.SaveChanges();

            return(RedirectToAction("Step", "Library", new { @id = id }));
        }