public void AddScoring(AddScoringRequest scoringRequest) { var caluclator = _calculatorResolver.Resolve(scoringRequest.CategoryMetadata.Type); AddScoreToSection(scoringRequest, caluclator); _scoredCategories.Add(scoringRequest.CategoryMetadata); }
private void AddScoreToSection(AddScoringRequest scoringRequest, IScoreCategoryCalculator caluclator) { if (scoringRequest.CategoryMetadata.Section == ScoreSections.Upper) { _upperScoreManager.AddToScore(caluclator.Calculate(scoringRequest.diceSet)); } else { _lowerScoreManager.AddToScore(caluclator.Calculate(scoringRequest.diceSet)); } }