package br.com.ec.domain.service.modelo.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import br.com.ec.domain.dto.ParametrosConsultaResumoEstoqueDTO;
import br.com.ec.domain.dto.ResumoEstoqueDTO;
import br.com.ec.domain.model.Modelo;
import br.com.ec.domain.service.modelo.ModeloService;
import br.com.ec.infrastructure.repository.ModeloRepository;
import br.edu.cesmac.core.generic.AbstractService;
import br.edu.cesmac.core.generic.GenericRepository;
import br.edu.cesmac.core.validador.Validador;
@Service
public class ModeloServiceImpl
extends AbstractService
<Modelo
> implements ModeloService
{
private ModeloRepository modeloRepository
;
@Autowired
public ModeloServiceImpl
(Validador validador, ModeloRepository modeloRepository
) {
super(validador
);
this.
modeloRepository = modeloRepository
;
}
@
Override
protected GenericRepository
<Modelo
> getRepository
() {
return modeloRepository
;
}
@
Override
protected void regrasNegocioCadastrar
(Modelo modelo
) {
modelo.
setAtivo(true);
}
@
Override
public List<Modelo
> consultarTodosAtivos
() {
Modelo modelo =
new Modelo
();
modelo.
setAtivo(true);
return modeloRepository.
consultarPassandoEntidade(modelo,
0, modeloRepository.
obterQuantidadeDeRegistrosPassandoEntidade(modelo
));
}
@
Override
public List<ResumoEstoqueDTO
> consultarResumoEstoquePorMarcaEeTipoProduto
(ParametrosConsultaResumoEstoqueDTO parametrosConsultaResumoEstoque
) {
return modeloRepository.
consultarResumoEstoquePorMarcaEeTipoProduto(parametrosConsultaResumoEstoque
);
}
}