Skip to content
Snippets Groups Projects
lecturer-submissions-view.component.ts 1.88 KiB
import {Component, OnDestroy, OnInit} from '@angular/core';
import {LecturerDataService} from 'src/app/services/lecturer-data.service';
import {LecturerInfoService} from 'src/app/services/lecturer-info.service';
import {Router} from '@angular/router';
import {QuestionDao} from 'src/app/dao/question.dao';
import {AnswerSetDao} from 'src/app/dao/answer-set.dao';

@Component({
  selector: 'app-lecturer-submissionsview',
  templateUrl: './lecturer-submissions-view.component.html',
  styleUrls: ['./lecturer-submissions-view.component.css']
})
export class LecturerSubmissionsViewComponent implements OnInit, OnDestroy {

  public lecturerId;
  public classCode;
  public paperId;
  public questions: QuestionDao[];
  public answers: AnswerSetDao[];

  constructor(private lecturerDataService: LecturerDataService,
              private lecturerInfoService: LecturerInfoService,
              private router: Router) {
  }

  ngOnInit(): void {
    this.questions = [];
    this.answers = [];
    this.lecturerId = this.lecturerDataService.lecturerId;
    this.classCode = this.lecturerDataService.classCode;
    this.paperId = this.lecturerDataService.currentPaper.paperId;
    this.getPaperQuestions();
    this.getPaperSubmissions();
  }

  ngOnDestroy(): void {
    this.questions = [];
    this.answers = [];
  }

  public goToResponse(set: AnswerSetDao): void {
    this.lecturerDataService.currentAnswerSet = set;
    this.lecturerDataService.currentQuestions = this.questions;
    this.router.navigate(['responseview']);
  }

  private getPaperQuestions(): void {
    this.lecturerInfoService.getPaperQuestions(this.paperId).subscribe((data: QuestionDao[]) => {
      data.forEach(e => this.questions.push(e));
    });
  }

  private getPaperSubmissions(): void {
    this.lecturerInfoService.getPaperAnswers(this.paperId).subscribe((data: AnswerSetDao[]) => {
      data.forEach(e => this.answers.push(e));
    });
  }
}