Export feature documentation - ita-social-projects/WhatBackend GitHub Wiki

How is it works?

BaseFileExport class contains all common methods to create and fill new .xlsx file. It is inherited by classes for specified exports. Those classes override GetName() method and have public FillFile(T request) method. Request is different depending on data which have to be accessed.

Current Endpoints

/api/exports/studentsClassbook

  1. Mention "courseId" or "studentGroupId" to filter all course groups or exact student group.
  2. In body you can mention: "startDate", "finishtDate" is optional param to filter learning period of cource groups.
  3. "includeAnalytics": ["StudentPresence", "StudentMarks"] params to choose what to return. Returns .xlsx file with sheets for every group and every analytics (separate sheets for marks and visits of every group). Blank cells mean that there is no record in DB.

/api/exports/studentsResults

  1. Mention "courseId" or "studentGroupId" to filter all cource groups or exact student group.
  2. In body you can mention: "startDate", "finishtDate" is optional param to filter learning period of cource groups.
  3. "includeAnalytics": ["AverageStudentMark", "AverageStudentVisits"] have to receive params for result to return. Returns .xlsx file with sheets for every gruop and every analytics (separate sheets for marks and visits of every group).

/api/exports/studentClassbook/{studentId}

  1. "studentId" - id of student.
  2. (optional) In body you can mention: "startDate", "finishtDate" is param to filter learning period of students group.
  3. "includeAnalytics": ["StudentPresence", "StudentMarks"] options which report type to receive. Returns .xlsx file with sheets for every analytics (separate sheets for marks and visits of student).

/api/exports/studentResults/{studentId}

  1. "studentId" - id of student.
  2. (optional) In body you can mention: "startDate", "finishtDate" is param to filter learning period of students group.
  3. "includeAnalytics": ["AverageStudentMark", "AverageStudentVisits"] have to receive params for data to return. Returns .xlsx file with student`s data.

/api/exports/studentGroupResults/{courseId}

  1. "studentId" - id of student.
  2. (optional) In body you can mention: "startDate", "finishtDate" is param to filter learning period of students group.
  3. "includeAnalytics": ["AverageStudentGroupMark", "AverageStudentGroupVisitsPercentage"] have to receive params for data to return Returns .xlsx file with group`s data.