示例#1
0
        public IDomainModel DeleteCourse(Guid courseId)
        {
            var deletedCourseModel = new CourseDomainModel();

            try
            {
                var course = CourseInteractor.GetCourse(courseId);

                var linkedEvaluations = EvaluationService.GetEvaluationsForCourse(courseId);

                if (linkedEvaluations.Count > 0)
                {
                    foreach (var evaluation in linkedEvaluations)
                    {
                        var evaluationModel = (EvaluationDomainModel)evaluation;
                        EvaluationService.DeleteEvaluation(evaluationModel.Id);
                    }
                }

                CourseInteractor.DeleteCourse(courseId);

                deletedCourseModel = new CourseDomainModel {
                    StudentId = course.StudentId
                };
            }
            catch (GradeTrackerException gte)
            {
                return(new ErrorDomainModel(gte, false));
            }

            return(deletedCourseModel);
        }
示例#2
0
        public CourseWeightDomainModel GetCourseWeightType(Guid courseId)
        {
            var returnModel = new CourseWeightDomainModel();
            var evals       = EvaluationService.GetEvaluationsForCourse(courseId);

            if (evals.Count > 0)
            {
                var evalModels = new List <EvaluationDomainModel>();

                foreach (var eval in evals)
                {
                    evalModels.Add((EvaluationDomainModel)eval);
                }

                returnModel.IsWeighted       = evalModels.Any(e => e.Weight != 1);
                returnModel.IsStraightPoints = evalModels.Any(e => e.Weight == 1);
            }

            return(returnModel);
        }
示例#3
0
        private void CalculateGrade(CourseEntity course)
        {
            var courseWizard = new CourseWizard();
            var evalSpells   = new List <EvaluationResult>();

            var evals = EvaluationService.GetEvaluationsForCourse(course.Id);

            foreach (var eval in evals)
            {
                var castedEval = (EvaluationDomainModel)eval;
                var weighted   = castedEval.Weight != 1;

                evalSpells.Add(new EvaluationResult
                {
                    Weighted              = weighted,
                    WeightAmount          = castedEval.Weight,
                    PointsEarned          = castedEval.PointsEarned,
                    GradeToDateRaw        = castedEval.CurrentPointsGrade,
                    GradeOverallRaw       = castedEval.FinalPointsGrade,
                    PointsPossibleOverall = castedEval.TotalPointsPossible,
                    PointsPossibleToDate  = castedEval.CurrentPointsPossible
                });
            }

            ICourseResult courseSpell = null;

            if (evalSpells.Any(es => es.Weighted))
            {
                //foreach (var eval in evalSpells)
                //{
                //    eval.GradeOverallRaw =
                //        MathApprentice.CalculateRawPercentage(eval.PointsEarned, eval.PointsPossibleOverall);
                //    eval.GradeToDateRaw =
                //        MathApprentice.CalculateRawPercentage(eval.PointsEarned, eval.PointsPossibleToDate);
                //}

                courseSpell = new WeightedCourseResult
                {
                    Evaluations = evalSpells,
                };

                courseWizard.Course = courseSpell;

                courseWizard.UpdateAllGrades();

                var courseResult = (WeightedCourseResult)courseWizard.Course;

                course.CurrentPointsGrade = courseResult.GradeToDateRaw;
                course.FinalPointsGrade   = courseResult.GradeOverallRaw;
            }
            else
            {
                courseSpell = new CourseResult
                {
                    Evaluations = evalSpells
                };

                courseWizard.Course = courseSpell;

                courseWizard.UpdateAllGrades();

                var courseResult = (CourseResult)courseWizard.Course;

                course.PointsEarned          = courseResult.PointsEarned;
                course.TotalPointsPossible   = courseResult.PointsPossibleOverall;
                course.CurrentPointsPossible = courseResult.PointsPossibleToDate;
                course.CurrentPointsGrade    = courseResult.GradeToDateRaw;
                course.FinalPointsGrade      = courseResult.GradeOverallRaw;
            }
        }