Untitled

 avatar
unknown
plain_text
2 years ago
2.3 kB
0
Indexable
package pt.ulisboa.tecnico.socialsoftware.tutor.teacherdashboard.dto;

import pt.ulisboa.tecnico.socialsoftware.tutor.teacherdashboard.domain.TeacherDashboard;
import pt.ulisboa.tecnico.socialsoftware.tutor.teacherdashboard.domain.QuestionStats;
import java.util.*;
import java.util.stream.*;
import pt.ulisboa.tecnico.socialsoftware.tutor.teacherdashboard.dto.QuestionStatsDto;
import java.util.stream.IntStream;


public class TeacherDashboardDto {
    private Integer id;
    private Integer numberOfStudents;

    private List<QuestionStatsDto> questionStatsDto;

    public TeacherDashboardDto() {
    }

    public List<QuestionStatsDto> getQuestionStatsDto() {
        return questionStatsDto;
    }

    public void setQuestionStatsDto(List<QuestionStatsDto> questionStatsDto) {
        this.questionStatsDto = questionStatsDto;
    }

    public TeacherDashboardDto(TeacherDashboard teacherDashboard) {
        this.id = teacherDashboard.getId();
        // For the number of students, we consider only active students
        this.numberOfStudents = teacherDashboard.getCourseExecution().getNumberOfActiveStudents();
        this.questionStatsDto = createAndReturnQuestionStatsDtoList(teacherDashboard.getQuestionStats());
    }

    public List<QuestionStatsDto> createAndReturnQuestionStatsDtoList(List<QuestionStats> questionStats) {
        List<QuestionStatsDto> questionStatsDtoList = new ArrayList<QuestionStatsDto>();

        questionStatsDtoList = questionStats.stream()
                .map(questionStatsElement -> new QuestionStatsDto(questionStatsElement))
                .collect(Collectors.toList());
        return questionStatsDtoList;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getNumberOfStudents() {
        return numberOfStudents;
    }

    public void setNumberOfStudents(Integer numberOfStudents) {
        this.numberOfStudents = numberOfStudents;
    }

    @Override
    public String toString() {
        return "TeacherDashboardDto{" +
                "id=" + id +
                ", numberOfStudents=" + this.getNumberOfStudents() +
                "}";
    }
}