public IDomainModel DeleteEvaluation(Guid evaluationId) { var deletedEvaluationModel = new EvaluationDomainModel(); try { var evaluation = EvaluationInteractor.GetEvaluation(evaluationId); var linkedScores = ScoreInteractor.GetScoresByEvaluationId(evaluationId); if (linkedScores.Count > 0) { foreach (var score in linkedScores) { ScoreInteractor.DeleteScore(score.Id); } } EvaluationInteractor.DeleteEvaluation(evaluationId); deletedEvaluationModel = new EvaluationDomainModel() { CourseId = evaluation.CourseId }; } catch (GradeTrackerException gte) { return(new ErrorDomainModel(gte, false)); } return(deletedEvaluationModel); }
public IDomainModel CreateNewEvaluation(CreateEvaluationDomainModel createModel) { var evaluationModel = new EvaluationDomainModel(); var newEvaluationEntity = ConvertModelToEntity(createModel); var evaluationId = Guid.Empty; try { CalculateGrade(newEvaluationEntity); evaluationId = EvaluationInteractor.CreateEvaluation(newEvaluationEntity); } catch (GradeTrackerException gte) { return(new ErrorDomainModel(gte, true)); } try { evaluationModel = (EvaluationDomainModel)GetEvaluation(evaluationId); } catch (GradeTrackerException gte) { return(new ErrorDomainModel(gte, false)); } return(evaluationModel); }
public void ScoresUpdated(Guid evalId) { var eval = EvaluationInteractor.GetEvaluation(evalId); CalculateGrade(eval); EvaluationInteractor.UpdateEvaluation(eval); Courses.EvaluationModified(eval.CourseId); }
/// <summary> /// Gets the course attached to the passed ID, and displays the data currently in the database /// </summary> /// <param name="evaluationId"></param> /// <returns></returns> public IDomainModel GetEvaluation(Guid evaluationId) { var evaluationModel = new EvaluationDomainModel(); var evaluationEntity = new EvaluationEntity(); try { evaluationEntity = EvaluationInteractor.GetEvaluation(evaluationId); } catch (GradeTrackerException gte) { return(new ErrorDomainModel(gte, false)); } evaluationModel = new EvaluationDomainModel(evaluationEntity); return(evaluationModel); }
public List <IDomainModel> GetEvaluationsForCourse(Guid courseId) { var entityList = new List <EvaluationEntity>(); try { entityList = EvaluationInteractor.GetEvaluationsByCourseId(courseId); } catch (GradeTrackerException gte) { return(new List <IDomainModel> { new ErrorDomainModel(gte, false) }); } entityList = EvaluationInteractor.GetEvaluationsByCourseId(courseId); return(ConvertToDomainModel(entityList)); }
public IDomainModel UpdateEvaluation(EvaluationDomainModel updatedEvaluationModel) { var returnModel = new EvaluationDomainModel(); try { var entityToUpdate = ConvertModelToEntity(updatedEvaluationModel); CalculateGrade(entityToUpdate); EvaluationInteractor.UpdateEvaluation(entityToUpdate); var updatedEntity = EvaluationInteractor.GetEvaluation(entityToUpdate.Id); returnModel = new EvaluationDomainModel(updatedEntity); } catch (GradeTrackerException gte) { return(new ErrorDomainModel(gte, true)); } return(returnModel); }
public double GetPointsPerScore(Guid evaluationId) { return(EvaluationInteractor.GetEvaluation(evaluationId).PointsPerScore); }