package com.ejie.ab79.service.plantillas;

import java.util.List;

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

import com.ejie.ab79.dao.plantillas.PlantillasDao;
import com.ejie.ab79.model.plantillas.Plantillas;
import com.ejie.x38.dto.TableRequestDto;
import com.ejie.x38.dto.TableResponseDto;

/**
 * PlantillasServiceImpl  
 * 
 *  
 */

@Service(value = "plantillasService")
public class PlantillasServiceImpl implements PlantillasService {

	@Autowired
	private PlantillasDao plantillasDao;

	/**
	 * Filter method in the Plantillas table.
	 *
	 * @param filterPlantillas
	 *            Plantillas
	 * @param tableRequestDto
	 *            TableRequestDto
	 * @return TableResponseDto<Plantillas>
	 */
	public TableResponseDto<Plantillas> filter(Plantillas filterPlantillas, TableRequestDto tableRequestDto) {
		List<Plantillas> listaPlantillas = this.plantillasDao.findAll(filterPlantillas, tableRequestDto);
		Long recordNum = this.plantillasDao
				.findAllCount(filterPlantillas != null ? filterPlantillas : new Plantillas());

		return new TableResponseDto<Plantillas>(tableRequestDto, recordNum, listaPlantillas);
	}

	@Override
	public List<Plantillas> findTiposPlantillaDeDocumento(Integer idProcedimiento) {
		return this.plantillasDao.findTiposPlantillaDeDocumento(idProcedimiento);
	}

	@Override
	public List<Plantillas> findTiposPlantillaDeDocumentoProcedimiento() {
		return this.plantillasDao.findTiposPlantillaDeDocumentoProcedimiento();
	}
}
