Пример #1
0
 public EditModel(Guid id, UpdateModel model, IGradeBoundaries boundaries)
     : this(id,
         model.Name,
         GenerateResultsFromUpdateModel(model, boundaries),
         model.TotalMarks,
         new ResultRow(Guid.Empty, model.NewRow.Surname, model.NewRow.Forenames, null, null),
         null)
 {
 }
Пример #2
0
 public EditModel(
     IAssessment assessment,
     IGradeBoundaries boundaries,
     int? lastSelectedResult)
     : this(assessment.Id,
         assessment.Name,
         GenerateResultsFromRepoModels(assessment, boundaries),
         assessment.TotalMarks,
         GetSelectedResultIndex(lastSelectedResult, assessment.Results))
 {
 }
Пример #3
0
        private static List<ResultRow> GenerateResultsFromUpdateModel(UpdateModel model, IGradeBoundaries boundaries)
        {
            if (model.Results == null)
            {
                return new List<ResultRow>();
            }

            return model.Results.Select(
                r =>
                new ResultRow(
                    r.RowId,
                    r.Surname,
                    r.Forenames,
                    r.Result,
                    r.Result / model.TotalMarks * 100,
                    boundaries.Boundaries.ForResult(r.Result))).ToList();
        }
Пример #4
0
        private static IList<ResultRow> GenerateResultsFromRepoModels(
            IAssessment assessment, IGradeBoundaries boundaries)
        {
            var results = from result in assessment.Results
                          let grade = boundaries.Boundaries.ForResult(result.Result)
                          let percentage = result.Result / assessment.TotalMarks * 100
                          select new ResultRow(result.Id, result.Surname, result.Forenames, result.Result, percentage, grade);

            return results.ToList();
        }
 private static IList<GradeBoundary> ForExport(IGradeBoundaries gradeBoundaries)
 {
     return gradeBoundaries.Boundaries.Select(b => new GradeBoundary { Grade = b.Grade, MinResult = b.MinResult }).ToList();
 }
 private static Assessment ForExport(IAssessment assessment, IGradeBoundaries gradeBoundaries)
 {
     return new Assessment { TotalMarks = assessment.TotalMarks, Rows = ForExport(assessment.Results), GradeBoundaries = ForExport(gradeBoundaries) };
 }