Esempio n. 1
0
 public StudentResourceRating(StudentXRoadStep studentXRoadStep, StepResource stepResource, RatingValue ratingValue)
 {
     StudentXRoadStep = studentXRoadStep;
     CreateDate       = DateTime.Now;
     StepResource     = stepResource;
     RatingValue      = ratingValue;
 }
        public void FinishExerciseReview(bool hasGraduated)
        {
            ExerciseStatus     = ExerciseStatus.Reviewed;
            ReviewExerciseDate = DateTime.Now;

            if (hasGraduated)
            {
                StudentXRoadStep.Graduate();
            }
        }
Esempio n. 3
0
        public TrainingNeed CalculateNeed(TrainingGroup trainingGroup)
        {
            var stepsInProgress = StudentXRoadSteps.Where(p => !p.HasGraduated()).ToList();

            if (stepsInProgress.Count == 0)
            {
                return(new TrainingNeed(true, null, null));
            }

            var stepsInProgressInTrainingGroup = new List <RoadStep>();
            StudentXRoadStep firstStepInProgressInTrainingGroup = null;

            foreach (var trainingGroupXRoad in trainingGroup.TrainingGroupXRoads)
            {
                var road = trainingGroupXRoad.Road;
                foreach (var roadXRoadStep in road.RoadXRoadSteps)
                {
                    var step = roadXRoadStep.RoadStep;
                    firstStepInProgressInTrainingGroup = stepsInProgress.FirstOrDefault(p => p.RoadStep.Id == step.Id);
                    if (firstStepInProgressInTrainingGroup != null)
                    {
                        stepsInProgressInTrainingGroup.Add(step);
                    }
                }
            }
            if (stepsInProgressInTrainingGroup.Count == 0)
            {
                return(new TrainingNeed(true, null, null));
            }

            if (firstStepInProgressInTrainingGroup.LearningStatus == LearningStatus.StudyingResources &&
                firstStepInProgressInTrainingGroup.RoadStep.StepResources.Count == 0)
            {
                return(new TrainingNeed(true, false, firstStepInProgressInTrainingGroup.RoadStep));
            }

            if (firstStepInProgressInTrainingGroup.LearningStatus == LearningStatus.FinishedResources &&
                firstStepInProgressInTrainingGroup.RoadStep.StepExercises.Count == 0)
            {
                return(new TrainingNeed(false, true, firstStepInProgressInTrainingGroup.RoadStep));
            }

            return(null);
        }
 public StudentExercise(StudentXRoadStep studentXRoadStep, StepExercise stepExercise)
 {
     StudentXRoadStep = studentXRoadStep;
     CreateDate       = DateTime.Now;
     StepExercise     = stepExercise;
 }