コード例 #1
0
        /// <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;
        }
コード例 #2
0
		/// <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();
		}
コード例 #3
0
 /// <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();
 }
コード例 #4
0
 /// <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();
 }
コード例 #5
0
        /// <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();
            }
        }
コード例 #6
0
        /// <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();
            }
        }