diff --git a/src/Model/Types.hs b/src/Model/Types.hs index 48a1c742e..fde3ced5c 100644 --- a/src/Model/Types.hs +++ b/src/Model/Types.hs @@ -144,16 +144,22 @@ gradingPassed (Points {}) _ = Nothing gradingPassed (PassPoints {..}) pts = Just $ pts >= passingPoints gradingPassed (PassBinary {}) pts = Just $ pts /= 0 + +newtype SheetGradeSummary + data SheetGradeSummary = SheetGradeSummary - { numSheets -- Total number of sheets, includes all - , numGradePasses -- Number of sheets required to pass - , numPointSheets -- Number of sheets having points - , numMarked :: Count -- Number of already marked sheets - , numMarkedPoints:: Count -- Number of already marked sheets - , numMarkedPasses:: Count -- Number of already marked sheets - , sumGradePoints :: Sum Points -- Total of achievable points - , achievedPasses :: Count -- - , achievedPoints :: Sum Points -- + { numSheets :: Count -- Total number of sheets, includes all + , numSheetsPasses :: Count -- Number of sheets required to pass + , numSheetsPoints :: Count -- Number of sheets having points + , sumSheetsPoints :: Sum Points -- Total of all points in all sheets + -- Marking dependend + , numMarked :: Count -- Number of already marked sheets + , numMarkedPasses :: Count -- Number of already marked sheets with passes + , numMarkedPoints :: Count -- Number of already marked sheets with points + , sumMarkedPoints :: Sum Point -- Achieveable points within marked sheets + -- + , achievedPasses :: Count -- Achieved passes (within marked sheets) + , achievedPoints :: Sum Points -- Achieved points (within marked sheets) } deriving (Generic, Read, Show, Eq) instance Monoid SheetGradeSummary where