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); }
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); }
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; } }