Changes between Version 3 and Version 4 of AdvancedApplicationDevelopment


Ignore:
Timestamp:
09/21/26 20:52:39 (5 days ago)
Author:
192063
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedApplicationDevelopment

    v3 v4  
    130130}}}
    131131
    132 
     132Истото го имаме и кај оценките, односно според дијаграмот наткласа за усна, писмена и крајна оценка е табелата Ocenka.
     133Затоа, за да немаме случај како што е оценката постои во табелата Ocenka, но не постои во Usna_Ocenka, Pismena_Ocenka, Krajna_Ocenka, треба да користиме трансакција.
    133134= Внесување на усна оценка =
     135
     136{{{
     137    @Override
     138    @Transactional
     139    public void enterUsnaOcenkaForStudent(UUID ucenikId, FullUsnaOcenkaRequestDTO fullUsnaOcenkaRequestDTO) {
     140        if (ucenikId == null) {
     141            throw new IllegalArgumentException("ucenikId is null");
     142        }
     143        if (fullUsnaOcenkaRequestDTO == null) {
     144            throw new IllegalArgumentException("Request is null");
     145        }
     146
     147        if (fullUsnaOcenkaRequestDTO.getOcenka() == null || fullUsnaOcenkaRequestDTO.getOcenka() < 1 || fullUsnaOcenkaRequestDTO.getOcenka() > 5) {
     148            throw new IllegalArgumentException("Invalid ocenka");
     149        }
     150
     151        if (fullUsnaOcenkaRequestDTO.getOsvoeni_poeni() > fullUsnaOcenkaRequestDTO.getMax_poeni()) {
     152            throw new IllegalArgumentException("Invalid points");
     153        }
     154
     155        UcenikResponseDTO ucenik = this.ucenikService.getUcenikById(ucenikId);
     156        if (ucenik == null) {
     157            throw new IllegalArgumentException("Ucenik not found");
     158        }
     159
     160        this.ocenkaRepository.createOcenka(fullUsnaOcenkaRequestDTO.getOcenka(), fullUsnaOcenkaRequestDTO.getDatum(), fullUsnaOcenkaRequestDTO.getZabeleska(),          fullUsnaOcenkaRequestDTO.getVnesena_Od(), fullUsnaOcenkaRequestDTO.getDobienaZaUcenikot_Id(), fullUsnaOcenkaRequestDTO.getEZaPredmetot_Id(), fullUsnaOcenkaRequestDTO.getZaAktivnosta_id());
     161
     162        //insert in usna ocenka
     163        UUID insertedId = this.ocenkaRepository.getOcenkaByUcenikAndAktivnost(fullUsnaOcenkaRequestDTO.getDobienaZaUcenikot_Id(), fullUsnaOcenkaRequestDTO.getZaAktivnosta_id());
     164
     165        this.usnaOcenkaRepository.insertUsnaOcenka(insertedId, fullUsnaOcenkaRequestDTO.getTema(), fullUsnaOcenkaRequestDTO.getOsvoeni_poeni(), fullUsnaOcenkaRequestDTO.getMax_poeni(), String.valueOf(fullUsnaOcenkaRequestDTO.getVidUsnoIsprasuvanje()));
     166    }
     167}}}
     168
    134169= Внесување на писмена оценка =
     170
     171
     172{{{
     173    @Override
     174    @Transactional
     175    public void enterPismenaOcenkaForStudent(UUID id, FullPismenaOcenkaRequestDTO fullPismenaOcenkaRequestDTO) {
     176
     177        if (id == null) {
     178            throw new IllegalArgumentException("ucenikId is null");
     179        }
     180        if (fullPismenaOcenkaRequestDTO == null) {
     181            throw new IllegalArgumentException("Request is null");
     182        }
     183
     184        if (fullPismenaOcenkaRequestDTO.getOcenka() == null || fullPismenaOcenkaRequestDTO.getOcenka() < 1 || fullPismenaOcenkaRequestDTO.getOcenka() > 5) {
     185            throw new IllegalArgumentException("Invalid ocenka");
     186        }
     187
     188        if (fullPismenaOcenkaRequestDTO.getOsvoeni_poeni() > fullPismenaOcenkaRequestDTO.getMax_poeni()) {
     189            throw new IllegalArgumentException("Invalid points");
     190        }
     191
     192        UcenikResponseDTO ucenik = this.ucenikService.getUcenikById(id);
     193        if (ucenik == null) {
     194            throw new IllegalArgumentException("Ucenik not found");
     195        }
     196
     197        this.ocenkaRepository.createOcenka(fullPismenaOcenkaRequestDTO.getOcenka(), fullPismenaOcenkaRequestDTO.getDatum(), fullPismenaOcenkaRequestDTO.getZabeleska(), fullPismenaOcenkaRequestDTO.getVnesena_Od(), fullPismenaOcenkaRequestDTO.getDobienaZaUcenikot_Id(), fullPismenaOcenkaRequestDTO.getEZaPredmetot_Id(), fullPismenaOcenkaRequestDTO.getZaAktivnosta_id());
     198
     199        //insert in pismenaocenka
     200        UUID insertedId = this.ocenkaRepository.getOcenkaByUcenikAndAktivnost(fullPismenaOcenkaRequestDTO.getDobienaZaUcenikot_Id(), fullPismenaOcenkaRequestDTO.getZaAktivnosta_id());
     201
     202        this.pismenaOcenkaRepository.insertPismenaOcenka(insertedId, fullPismenaOcenkaRequestDTO.getTema(), fullPismenaOcenkaRequestDTO.getOsvoeni_poeni(), fullPismenaOcenkaRequestDTO.getMax_poeni(), String.valueOf(fullPismenaOcenkaRequestDTO.getVid()));
     203
     204    }
     205}}}
     206
    135207= Внесување на крајна оценка = 
     208
     209
     210{{{
     211    @Override
     212    @Transactional
     213    public void enterKrajnaOcenkaForStudent(UUID id, FullKrajnaOcenkaRequestDTO fullKrajnaOcenkaRequestDTO) {
     214        if (id == null) {
     215            throw new IllegalArgumentException("ucenikId is null");
     216        }
     217        if (fullKrajnaOcenkaRequestDTO == null) {
     218            throw new IllegalArgumentException("Request is null");
     219        }
     220
     221        if (fullKrajnaOcenkaRequestDTO.getOcenka() == null || fullKrajnaOcenkaRequestDTO.getOcenka() < 1 || fullKrajnaOcenkaRequestDTO.getOcenka() > 5) {
     222            throw new IllegalArgumentException("Invalid ocenka");
     223        }
     224
     225
     226        UcenikResponseDTO ucenik = this.ucenikService.getUcenikById(id);
     227        if (ucenik == null) {
     228            throw new IllegalArgumentException("Ucenik not found");
     229        }
     230        UUID ocenkaId = UUID.randomUUID();
     231
     232        this.ocenkaRepository.createOcenkaWithId(ocenkaId, fullKrajnaOcenkaRequestDTO.getOcenka(), fullKrajnaOcenkaRequestDTO.getDatum(), fullKrajnaOcenkaRequestDTO.getZabeleska(), fullKrajnaOcenkaRequestDTO.getVnesena_Od(), fullKrajnaOcenkaRequestDTO.getDobienaZaUcenikot_Id(), fullKrajnaOcenkaRequestDTO.getEZaPredmetot_Id()
     233
     234        );
     235        this.krajnaOcenkaRepository.createKrajnaOcenka(ocenkaId, String.valueOf(fullKrajnaOcenkaRequestDTO.getTip()));
     236    }
     237}}}
     238
    136239