public void SetComment(ScoreCard scoreCard, int scoreCriterionId, string comment, ScoreCriterionService scoreCriterionService) { if (scoreCard == null) { return; } if (scoreCard.ScorableCriteria == null || !scoreCard.ScorableCriteria.Any()) { return; } var scorableCriterion = scoreCard.ScorableCriteria.FirstOrDefault(s => s.ScoreCriterion.Id == scoreCriterionId); if (scorableCriterion == null) { scorableCriterion = new ScorableCriterion(0, scoreCriterionService.Get(scoreCriterionId)); scorableCriterion.SetComment(comment); scoreCard.ScorableCriteria.Add(scorableCriterion); Update(scoreCard); } else { scorableCriterion.SetComment(comment); AddOrUpdate(scorableCriterion); } }
public static ScorableCriterion ConvertFromDto(this ScorableCriterionDto scorableCriterionDto) { var scorableCriterion = new ScorableCriterion(scorableCriterionDto.Id, ConvertFromDto(scorableCriterionDto.ScoreCriterion)); scorableCriterion.SetScoreAndComment(scorableCriterionDto.Score, scorableCriterionDto.Comment); return(scorableCriterion); }
public static ScorableCriterionDto ConvertToDto(this ScorableCriterion scorableCriterion) { return(new ScorableCriterionDto() { Id = scorableCriterion.Id, Comment = scorableCriterion.Comment, Score = scorableCriterion.Score, ScoreCriterion = ConvertToDto(scorableCriterion.ScoreCriterion) }); }
public void AddOrUpdate(ScorableCriterion scorableCriterion) { if (ScorableCriterionRepo.Exists(scorableCriterion.Id)) { ScorableCriterionRepo.Update(scorableCriterion); } else { ScorableCriterionRepo.Add(scorableCriterion); } }
public void AttemptToSetScoreHigherThanScoreMax() { ScoreRange scoreRange = new ScoreRange(0, 100); ScoreCriterion scoreCriterion = new ScoreCriterion("This is a description.", scoreRange); ScorableCriterion scorableCriterion = new ScorableCriterion(scoreCriterion); double score = 101; scorableCriterion.SetScoreAndComment(score, ""); }
public void CreateScorableCriterion() { ScoreRange scoreRange = new ScoreRange(0, 100); ScoreCriterion scoreCriterion = new ScoreCriterion("This is a description.", scoreRange); ScorableCriterion scorableCriterion = new ScorableCriterion(scoreCriterion); double score = 99; string comment = "This is a comment about the score."; scorableCriterion.SetScoreAndComment(score, comment); Assert.AreEqual(score, scorableCriterion.Score); Assert.AreEqual(comment, scorableCriterion.Comment); }
public void CreateScoreCard() { ScoreRange scoreRange = new ScoreRange(0, 100); ScoreCriterion scoreCriterion = new ScoreCriterion("This is a description.", scoreRange); ScorableCriterion scorableCriterion = new ScorableCriterion(scoreCriterion); ScoreCriterion scoreCriterion2 = new ScoreCriterion("This is another description.", scoreRange); ScorableCriterion scorableCriterion2 = new ScorableCriterion(scoreCriterion2); ICollection <ScorableCriterion> scorableCriteria = new List <ScorableCriterion>() { scorableCriterion, scorableCriterion2 }; Contest contest = new Contest("Talent Show", timeKeeperId: "123", maxDuration: new TimeSpan(0, 5, 0), status: "Pending"); Performance performance = new Performance("Singing a song.", new TimeSpan(hours: 0, minutes: 4, seconds: 0)); Contestant contestant = new Contestant(performance, ruleViolationPenalty: 0, tieBreakerPoints: 0); Judge judge = new Judge("abc"); ScoreCard scoreCard = new ScoreCard(contestant, judge, scorableCriteria); double score1 = 50; double score2 = 75; double average = new List <double>() { score1, score2 }.Average(); scoreCard.ScorableCriteria.ElementAt(0).SetScoreAndComment(score1, "Not very good."); scoreCard.ScorableCriteria.ElementAt(1).SetScoreAndComment(score2, "Pretty good."); Assert.AreEqual(2, scoreCard.ScorableCriteria.Count); Assert.AreEqual(score1, scoreCard.ScorableCriteria.ElementAt(0).Score); Assert.AreEqual(scoreCriterion, scoreCard.ScorableCriteria.ElementAt(0).ScoreCriterion); Assert.AreEqual(score2, scoreCard.ScorableCriteria.ElementAt(1).Score); Assert.AreEqual(scoreCriterion2, scoreCard.ScorableCriteria.ElementAt(1).ScoreCriterion); Assert.AreEqual(average, scoreCard.AverageScore); Assert.AreEqual(contestant, scoreCard.Contestant); Assert.AreEqual(judge, scoreCard.Judge); }