Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.com.ec.domain.service.posvenda.impl;

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.util.DataUtils;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.core.validador.Validador;
import br.com.ec.domain.model.PosVenda;
import br.com.ec.domain.model.Venda;
import br.com.ec.domain.service.npsposvenda.NpsPosVendaService;
import br.com.ec.domain.service.posvenda.PosVendaService;
import br.com.ec.infrastructure.repository.PosVendaRepository;

@Service
public class PosVendaServiceImpl extends AbstractService<PosVenda> implements PosVendaService {
       
        private NpsPosVendaService npsPosVendaService;
        private PosVendaRepository posVendaRepository;

        @Autowired
        public PosVendaServiceImpl(Validador validador, NpsPosVendaService npsPosVendaService, PosVendaRepository posVendaRepository) {
                super(validador);
                this.npsPosVendaService = npsPosVendaService;
                this.posVendaRepository = posVendaRepository;
        }

        @Override
        protected GenericRepository<PosVenda> getRepository() {
                return posVendaRepository;
        }
       
        @Override
        public void iniciarPosVenda(Venda venda) {
                PosVenda posVenda = new PosVenda();
                posVenda.setDataCadastro(DataUtils.getDataAtual());
                posVenda.setVenda(venda);
                if (VerificadorUtil.naoEstaNulo(venda.getCliente())) {
                        if (VerificadorUtil.naoEstaNuloOuVazio(venda.getCliente().getContato())) {
                                posVenda.setCliente(venda.getCliente());
                                this.cadastrar(posVenda);
                        }
                }
        }
       
        @Override
        public void excluirPosVenda(Long sequencialVenda) {
                npsPosVendaService.excluirNpsPosVenda(null, sequencialVenda);
                posVendaRepository.excluirPosVenda(sequencialVenda);
        }
       
}