Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        public void ScoresUpdated(Guid evalId)
        {
            var eval = EvaluationInteractor.GetEvaluation(evalId);

            CalculateGrade(eval);

            EvaluationInteractor.UpdateEvaluation(eval);

            Courses.EvaluationModified(eval.CourseId);
        }
Example #4
0
        /// <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);
        }
Example #5
0
        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));
        }
Example #6
0
        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);
        }
Example #7
0
 public double GetPointsPerScore(Guid evaluationId)
 {
     return(EvaluationInteractor.GetEvaluation(evaluationId).PointsPerScore);
 }