Subversion Repositories Integrator Subversion

Rev

Rev 760 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

package br.com.sl.domain.service.impl;

import java.time.LocalDateTime;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import br.com.ec.core.generic.AbstractService;
import br.com.ec.core.generic.GenericRepository;
import br.com.ec.core.validador.Validador;
import br.com.sl.domain.dto.robo.CandleState;
import br.com.sl.domain.model.Ativo;
import br.com.sl.domain.model.Candle;
import br.com.sl.domain.model.tipos.TipoPeriodoCandle;
import br.com.sl.domain.service.AtivoService;
import br.com.sl.domain.service.CandleService;
import br.com.sl.repository.CandleRepository;

@Service
public class CandleServiceImpl extends AbstractService<Candle> implements CandleService {

        private CandleRepository candleRepository;
        private AtivoService ativoService;

        @Autowired
        public CandleServiceImpl(CandleRepository candleRepository, AtivoService ativoService, Validador validador) {
                super(validador);
                this.candleRepository = candleRepository;
                this.ativoService = ativoService;
        }

        @Override
        protected GenericRepository<Candle> getRepository() {
                return this.candleRepository;
        }
       
        @Override
        public void cadastrar(String ativo, LocalDateTime inicioCandle, LocalDateTime fimCandle, CandleState situacaoCandle) {
                Ativo ativoConsultado = ativoService.consultarPorDescricao(ativo);
                Candle candle = new Candle(ativoConsultado, fimCandle, situacaoCandle, TipoPeriodoCandle.M1.getValor());
                candleRepository.cadastrar(candle);
        }
       
        @Override
        public List<Candle> consultarAtivosComCandleEncerradoAte(LocalDateTime fimUltimoCandle) {
                return candleRepository.consultarAtivosComCandleEncerradoAte(fimUltimoCandle);
        }
       
}