PositionUiService.java

package com.tdmconsult.ete.api;

import com.tdmconsult.ete.evaluation.EvaluationPdfService;
import com.tdmconsult.ete.evaluation.EvaluationService;
import com.tdmconsult.ete.evaluation.EvaluationStateDto;
import com.tdmconsult.ete.masterdata.SecurityRepository;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@RequiredArgsConstructor
@Transactional
@Slf4j
public class PositionUiService {

    private final EvaluationService evaluationService;
    private final SecurityRepository securityRepository;
    private final EvaluationPdfService evaluationPdfService;

    public List<EvaluationStateDto> get(final int fiscalYear) {
        return evaluationService.getEvaluationStates(fiscalYear);
    }

    public EvaluationStateDto get(final String isin, final int fiscalYear) {
        final var security = securityRepository.findByIsinOrThrow(isin);
        return evaluationService.getEvaluationState(security, fiscalYear);
    }

    public InputStream getAsPdfStream(final String isin, final int fiscalYear) throws IOException {
        final var security = securityRepository.findByIsinOrThrow(isin);
        return evaluationPdfService.getAsPdfStream(security, fiscalYear);
    }

    public InputStream getAsPdfStream(final int fiscalYear) throws IOException {
        return evaluationPdfService.getAsPdfStream(fiscalYear);
    }
}