Untitled

 avatar
unknown
plain_text
2 years ago
1.9 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 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();
    }

    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;
    }

    public void updateQuestionStats(List<QuestionStats> updatedQuestionStats) {
        IntStream.range(0, questionStatsDto.size())
                .forEach(i -> questionStatsDto.get(i).updateQuestionStats(updatedQuestionStats.get(i)));
    }

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