/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.rjconsultores.ventaboletos.service.impl; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.rjconsultores.ventaboletos.dao.PricingEspecificoDAO; import com.rjconsultores.ventaboletos.entidad.ClaseServicio; import com.rjconsultores.ventaboletos.entidad.Empresa; import com.rjconsultores.ventaboletos.entidad.Parada; import com.rjconsultores.ventaboletos.entidad.PricingEspecifico; import com.rjconsultores.ventaboletos.entidad.PricingEspecificoOcupacion; import com.rjconsultores.ventaboletos.service.PricingEspecificoService; import com.rjconsultores.ventaboletos.utilerias.UsuarioLogado; /** * * @author Rafius */ @Service("pricingEspecificoService") public class PricingEspecificoServiceImpl implements PricingEspecificoService { @Autowired private PricingEspecificoDAO pricingEspecificoDAO; public List obtenerTodos() { return pricingEspecificoDAO.obtenerTodos(); } public PricingEspecifico obtenerID(Long id) { return pricingEspecificoDAO.obtenerID(id); } @Transactional public PricingEspecifico suscribir(PricingEspecifico entidad) { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.TRUE); return pricingEspecificoDAO.suscribir(entidad); } @Transactional public PricingEspecifico actualizacion(PricingEspecifico entidad) { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.TRUE); return pricingEspecificoDAO.actualizacion(entidad); } @Transactional public void borrar(PricingEspecifico entidad) { entidad.setUsuarioId(UsuarioLogado.getUsuarioLogado().getUsuarioId()); entidad.setFecmodif(Calendar.getInstance().getTime()); entidad.setActivo(Boolean.FALSE); pricingEspecificoDAO.actualizacion(entidad); } public List buscarPorNome(PricingEspecifico pricingEspecifico) { return pricingEspecificoDAO.buscarPorNome(pricingEspecifico); } @Override public List buscarPorNome(String nome) { // TODO Auto-generated method stub return null; } @Override @Transactional public PricingEspecifico clonarPricing(Long id, String nome) { PricingEspecifico pricingToClone = obtenerID(id); PricingEspecifico clonePricing = new PricingEspecifico(); clonePricing.setNombPricing(nome); clonePricing.setCategoria(pricingToClone.getCategoria()); clonePricing.setClaseServicio(pricingToClone.getClaseServicio()); clonePricing.setCorridaId(pricingToClone.getCorridaId()); clonePricing.setFechorfin(pricingToClone.getFechorfin()); clonePricing.setFechorinicio(pricingToClone.getFechorinicio()); clonePricing.setMarca(pricingToClone.getMarca()); clonePricing.setMoneda(pricingToClone.getMoneda()); clonePricing.setParada(pricingToClone.getParada()); clonePricing.setParada1(pricingToClone.getParada1()); clonePricing.setPricingEspecificoOcupacionsList(getPricingEspecificoOcupacion(pricingToClone, clonePricing)); clonePricing.setTarifa(pricingToClone.getTarifa()); clonePricing.setTarifaredabierto(pricingToClone.getTarifaredabierto()); // clonePricing.setTipoPtovta(pricingToClone.getTipoPtovta()); return suscribir(clonePricing); } private List getPricingEspecificoOcupacion(PricingEspecifico pricingToClone, PricingEspecifico clonePricing){ List list = new ArrayList(); for(PricingEspecificoOcupacion peo : pricingToClone.getPricingEspecificoOcupacionsList()){ PricingEspecificoOcupacion newPeo = new PricingEspecificoOcupacion( peo.getOcupacioninicial(), peo.getOcupacionfinal(), peo.getTarifa(), peo.getActivo(), new Date(), UsuarioLogado.getUsuarioLogado().getUsuarioId(), peo.getDescuento(), clonePricing); list.add(newPeo); } return list; } @Override public List buscar(List empresas, List tipoClasses, List origens, List destinos, Date vigenciaInicial, Date vigenciaFinal) { return pricingEspecificoDAO.buscar(empresas, tipoClasses, origens, destinos, vigenciaInicial, vigenciaFinal); } }