AssessmentAnywhere.Services.Assessments.Assessment.SetCandidateResult C# (CSharp) Method

SetCandidateResult() public method

public SetCandidateResult ( System.Guid id, decimal result ) : void
id System.Guid
result decimal
return void
        public void SetCandidateResult(Guid id, decimal? result)
        {
            if (result.HasValue)
            {
                if (result < 0)
                {
                    throw new ArgumentOutOfRangeException("result", "Result be a positive number.");
                }

                if (this.TotalMarks.HasValue && result > this.TotalMarks)
                {
                    throw new ArgumentOutOfRangeException(
                        "result", "Result must be lower than or equal to the total marks.");
                }
            }

            var existingResult = this.results.Single(r => r.Id == id);
            var newResult = new AssessmentResult(id, existingResult.Surname, existingResult.Forenames, result);
            this.results.Remove(existingResult);
            this.results.Add(newResult);
        }