package com.ejie.ab61.service.terceros;

import com.ejie.ab61.dao.terceros.CanalesAvisoDao;
import com.ejie.ab61.model.terceros.CanalesAviso;

import java.util.List;

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

/**
 * CanalesAvisoServiceImpl  
 * 
 *  
 */

@Service(value = "canalesAvisoService")
public class CanalesAvisoServiceImpl implements CanalesAvisoService {

	@Autowired
	private CanalesAvisoDao canalesAvisoDao;

	/**
	 * Inserts a single row in the CanalesAviso table.
	 *
	 * @param canalesAviso
	 *            CanalesAviso
	 * @return CanalesAviso
	 */
	@Transactional(rollbackFor = Throwable.class)
	public CanalesAviso add(CanalesAviso canalesAviso) {
		return this.canalesAvisoDao.add(canalesAviso);
	}

	/**
	 * Updates a single row in the CanalesAviso table.
	 *
	 * @param canalesAviso
	 *            CanalesAviso
	 * @return CanalesAviso
	 */
	@Transactional(rollbackFor = Throwable.class)
	public CanalesAviso update(CanalesAviso canalesAviso) {
		return this.canalesAvisoDao.update(canalesAviso);
	}

	/**
	 * Finds a single row in the CanalesAviso table.
	 *
	 * @param canalesAviso
	 *            CanalesAviso
	 * @return CanalesAviso
	 */
	public CanalesAviso find(CanalesAviso canalesAviso) {
		return (CanalesAviso) this.canalesAvisoDao.find(canalesAviso);
	}

	/**
	 * Deletes a single row in the CanalesAviso table.
	 *
	 * @param canalesAviso
	 *            CanalesAviso
	 */
	@Transactional(rollbackFor = Throwable.class)
	public void remove(CanalesAviso canalesAviso) {
		this.canalesAvisoDao.remove(canalesAviso);
	}

	/**
	 * Buscar los datos del canal de aviso de un tercero
	 *
	 * @param idTercero
	 *            Integer
	 * 
	 * @return List<CanalesAviso>
	 */
	public List<CanalesAviso> findCanalesTercero(Integer idTercero) {
		return this.canalesAvisoDao.findCanalesTercero(idTercero);
	}
}
