/// <summary> /// Constructor. /// </summary> public UpdatedSectionAssignmentsViewModel( UpdatedSectionAssignmentResults results, SelectAssignmentReport markAssignmentsGraded, ITimeZoneProvider timeZoneProvider, IAssignmentDisplayProviderFactory displayProviderFactory) { SectionName = results.SectionName; GradebookName = results.GradebookName; StartDate = results.AssignmentsLastGradedDate != DateTime.MinValue ? results.AssignmentsLastGradedDate .FormatLongDateTime(timeZoneProvider) : "The beginning"; EndDate = results.ResultsRetrievedDate.FormatLongDateTime(timeZoneProvider); AssignmentResults = results.AssignmentResults.Select ( result => new AssignmentUpdatesViewModel ( result, displayProviderFactory ) ).ToList(); MarkAssignmentsGraded = markAssignmentsGraded; }
/// <summary> /// Constructor. /// </summary> public AssignmentUpdatesViewModel( SectionAssignmentResults sectionAssignmentResults, IAssignmentDisplayProviderFactory displayProviderFactory) { AssignmentName = $"{sectionAssignmentResults.AssignmentGroupName} ({sectionAssignmentResults.Points} points)"; SectionName = sectionAssignmentResults.SectionName; NumStudentsUpdated = sectionAssignmentResults.AssignmentGroupResults.Count; StudentResults = sectionAssignmentResults.AssignmentGroupResults.Select ( result => new StudentAssignmentResultViewModel(result, displayProviderFactory) ).ToList(); }
/// <summary> /// Constructor. /// </summary> public SectionAssignmentGroupViewModel( SectionAssignmentResults sectionAssignmentResults, IAssignmentDisplayProviderFactory displayProviderFactory) { AssignmentName = sectionAssignmentResults.AssignmentGroupName; SectionName = sectionAssignmentResults.SectionName; Points = sectionAssignmentResults.Points; StudentResults = sectionAssignmentResults.AssignmentGroupResults.Select ( result => new StudentAssignmentResultViewModel ( result, displayProviderFactory ) ).ToList(); }
/// <summary> /// Constructor. /// </summary> public StudentAssignmentsViewModel( StudentAssignmentResults results, IAssignmentDisplayProviderFactory displayProviderFactory) { LastName = results.LastName; FirstName = results.FirstName; SectionName = results.SectionName; AssignmentGroupResults = results.AssignmentGroupResults.Select ( result => new AssignmentGroupResultViewModel ( result, displayProviderFactory ) ).ToList(); }
/// <summary> /// Constructor. /// </summary> public StudentAssignmentResultViewModel( AssignmentGroupResult assignmentGroupResult, IAssignmentDisplayProviderFactory displayProviderFactory) { LastName = assignmentGroupResult.LastName; FirstName = assignmentGroupResult.FirstName; Score = assignmentGroupResult.Score; Status = GetColoredText ( assignmentGroupResult.Status.GetColor(), assignmentGroupResult.Status.GetText(), assignmentGroupResult.Status.GetBold(), preventWrapping: true ); if (assignmentGroupResult.AssignmentResults.Count == 1) { var assignmentResult = assignmentGroupResult.AssignmentResults[0]; var displayProvider = displayProviderFactory.CreateDisplayProvider ( assignmentResult ); ChildTableData = displayProvider.GetChildTableData(); } else { ChildTableData = assignmentGroupResult.AssignmentResults .Select ( assignmentResult => new AssignmentResultViewModel ( assignmentResult, displayProviderFactory.CreateDisplayProvider(assignmentResult) ) ).Cast <object>().ToList(); } }
/// <summary> /// Constructor. /// </summary> public AssignmentGroupResultViewModel( AssignmentGroupResult result, IAssignmentDisplayProviderFactory displayProviderFactory) { Score = GetColoredText ( "black", $"{result.Score} / {result.TotalPoints}", bold: false, preventWrapping: true ); Status = GetColoredText ( result.Status.GetColor(), result.Status.GetText(), result.Status.GetBold(), preventWrapping: true ); if (result.AssignmentResults.Count == 1) { var assignmentResult = result.AssignmentResults[0]; var displayProvider = displayProviderFactory.CreateDisplayProvider ( assignmentResult ); var assignmentUrl = displayProvider.GetAssignmentUrl(); AssignmentName = assignmentUrl != null ? GetLink ( assignmentUrl, result.AssignmentGroupName, preventWrapping : true ) : GetColoredText ( "black", result.AssignmentGroupName, bold: false, preventWrapping: true ); DueDate = GetColoredText ( "black", displayProvider.GetAssignmentDueDate(), bold: false, preventWrapping: true ); ChildTableData = displayProvider.GetChildTableData(); } else { AssignmentName = GetColoredText ( "black", result.AssignmentGroupName, bold: false, preventWrapping: true ); DueDate = result.AssignmentResults.Any(a => a.AssignmentDueDate.HasValue) ? "Multiple" : "Unassigned"; ChildTableData = result.AssignmentResults .Select ( assignmentResult => new AssignmentResultViewModel ( assignmentResult, displayProviderFactory.CreateDisplayProvider(assignmentResult) ) ).Cast <object>().ToList(); } }