Exemplo n.º 1
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);
        }
Exemplo n.º 2
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);
        }
        public IDomainModel UpdateEvaluation(EvaluationDomainModel updatedEvaluationModel)
        {
            if (updatedEvaluationModel.Id.Equals(Guid.Empty))
            {
                throw new ObjectNotFoundException();
            }

            return(new EvaluationDomainModel());
        }
Exemplo n.º 4
0
        public void UpdateEvaluation_ValidModel_ReturnsValidModel()
        {
            var testEvaluationEntity = EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(Guid.NewGuid());
            var testEvaluation       = new EvaluationDomainModel(testEvaluationEntity);
            var testClass            = ServiceFactory.Create_EvaluationService();

            var result = testClass.UpdateEvaluation(testEvaluation);

            result.GetType().ShouldNotBe(typeof(ErrorDomainModel));
        }
Exemplo n.º 5
0
        public void UpdateEvaluation_EmptyGuid_ReturnsErrorModel()
        {
            var testScore = new EvaluationDomainModel {
                Id = Guid.Empty
            };
            var testClass = ServiceFactory.Create_EvaluationService();

            var result = testClass.UpdateEvaluation(testScore);

            result.GetType().ShouldBe(typeof(ErrorDomainModel));
        }
Exemplo n.º 6
0
 private static EvaluationEntity ConvertModelToEntity(EvaluationDomainModel domainModel)
 {
     return(new EvaluationEntity
     {
         Id = domainModel.Id,
         Name = domainModel.Name,
         CourseId = domainModel.CourseId,
         Weight = domainModel.Weight,
         NumberOfScores = domainModel.NumberOfScores,
         PointsPerScore = domainModel.PointsPerScore,
         DropLowest = domainModel.DropLowest
     });
 }
Exemplo n.º 7
0
 public EvaluationViewModel(EvaluationDomainModel domainModel)
 {
     Id                    = domainModel.Id;
     Name                  = domainModel.Name;
     CourseId              = domainModel.CourseId;
     Weight                = domainModel.Weight * 100;
     NumberOfScores        = domainModel.NumberOfScores;
     PointValuePerScore    = domainModel.PointsPerScore;
     TotalPointsPossible   = domainModel.TotalPointsPossible;
     CurrentPointsPossible = domainModel.CurrentPointsPossible;
     PointsEarned          = domainModel.PointsEarned;
     CurrentGrade          = domainModel.CurrentPointsGrade * 100;
     FinalGrade            = domainModel.FinalPointsGrade * 100;
     DropLowest            = domainModel.DropLowest;
     LastModified          = domainModel.LastModified;
     CreatedOn             = domainModel.CreatedOn;
 }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
0
        public void DeleteEvaluation_ScoresPresent_DeletesScores()
        {
            var testEvalId      = Guid.NewGuid();
            var testEval        = EvaluationFactory.Create_EvaluationEntity_ValidMinimum_CustomId(testEvalId);
            var testDomainModel = new EvaluationDomainModel(testEval);
            var testScores      = ScoreFactory.Create_ListOfScoreEntity(testEvalId);
            var testScoreRepo   = new MockRepository <ScoreEntity>(testScores);
            var scoreInteractor = TestDatas.Scores.InteractorFactory.Create_ScoreInteractor();

            scoreInteractor.Repo = testScoreRepo;
            var mockEvalInteractor = TestDatas.Evaluations.InteractorFactory.Create_MockEvaluationInteractor();
            var testClass          = ServiceFactory.Create_EvaluationService();

            testClass.EvaluationInteractor = mockEvalInteractor;
            testClass.ScoreInteractor      = scoreInteractor;

            var result       = testClass.DeleteEvaluation(testEvalId);
            var resultScores = testClass.ScoreInteractor.GetScoresByEvaluationId(testEvalId);

            result.GetType().ShouldNotBe(typeof(ErrorDomainModel));
            resultScores.Count.ShouldBe(0);
        }
Exemplo n.º 10
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);
        }
Exemplo n.º 11
0
        public ActionResult Complete(EvaluationDomainModel evaluationModel)
        {
            var evaluationViewModel = new EvaluationViewModel(evaluationModel);

            return(View("EvaluationComplete", evaluationViewModel));
        }