Subversion Repositories Integrator Subversion

Rev

Rev 182 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
package br.com.ec.domain.service.compra.impl;
2
 
3
import java.util.List;
4
 
5
import org.springframework.beans.factory.annotation.Autowired;
6
import org.springframework.stereotype.Service;
7
 
8
import br.com.ec.domain.model.Compra;
9
import br.com.ec.domain.model.Conta;
10
import br.com.ec.domain.model.Parcela;
11
import br.com.ec.domain.service.compra.CompraService;
12
import br.com.ec.domain.service.parcela.ParcelaService;
13
import br.com.ec.infrastructure.repository.CompraRepository;
14
import br.edu.cesmac.core.exception.NegocioException;
15
import br.edu.cesmac.core.generic.AbstractService;
16
import br.edu.cesmac.core.generic.GenericRepository;
17
import br.edu.cesmac.core.util.VerificadorUtil;
18
import br.edu.cesmac.core.validador.Validador;
19
 
20
@Service
21
public class CompraServiceImpl extends AbstractService<Compra> implements CompraService {
22
 
23
        private ParcelaService parcelaService;
24
        private CompraRepository compraRepository;
25
 
26
        @Autowired
27
        public CompraServiceImpl(Validador validador, ParcelaService parcelaService, CompraRepository compraRepository) {
28
                super(validador);
29
                this.parcelaService = parcelaService;
30
                this.compraRepository = compraRepository;
31
        }
32
 
33
        @Override
34
        protected GenericRepository<Compra> getRepository() {
35
                return compraRepository;
36
        }
37
 
38
        @Override
39
        public Compra consultarCompraDaConta(Conta conta) {
40
                return compraRepository.consultarCompraDaConta(conta);
41
        }
42
 
43
        @Override
44
        public void adicionarParcelasNaCompra(Compra compra, List<Parcela> listaParcelas) {
45
                parcelaService.cadastrarContaComParcelasNaCompra(compra, listaParcelas);
46
                alterar(compra);
47
        }
48
 
49
        @Override
50
        public void vincularConta(Compra compra, Conta conta) {
51
                if (VerificadorUtil.estaNulo(conta)) {
52
                        throw new NegocioException("CONTA NÃO EXISTE");
53
                }
54
                compra.setConta(conta);
55
                alterar(compra);
56
        }
57
 
58
        @Override
59
        public void desvincularConta(Compra compra) {
60
                compra.setConta(null);
61
                alterar(compra);
62
        }
63
 
64
}