package com.ejie.ad74a.dao;

import java.util.List;

import com.ejie.ad74a.model.Pagos;
import com.ejie.x38.dto.TableRequestDto;

/**
 * PagosDao generated by UDA, 15-sep-2023 12:25:35.
 * 
 * @author UDA
 */

public interface PagosDao {

	/**
	 * Inserts a single row in the Pagos table.
	 *
	 * @param pagos Pagos
	 * @return Pagos
	 */
	Pagos add(Pagos pagos);
	
	/**
	 * Finds a single row in the Pagos table.
	 *
	 * @param pagos Pagos
	 * @return Pagos
	 */
	Pagos find(Pagos pagos);

	/**
	 * Removes a single row in the Pagos table.
	 *
	 * @param pagos Pagos
	 */
	void remove(Pagos pagos);

	/**
	 * Finds rows in the Pagos table using like.
	 *
	 * @param pagos           Pagos
	 * @param tableRequestDto TableRequestDto
	 * @param startsWith      Boolean
	 * @return List
	 */
	List<Pagos> findAllLike(Pagos pagos, TableRequestDto tableRequestDto, Boolean startsWith);
	
	/**
	 * Counts rows in the Pagos table using like.
	 *
	 * @param pagos      Pagos
	 * @param startsWith Boolean
	 * @return Long
	 */
	Long findAllLikeCount(Pagos pagos, Boolean startsWith);	
	
	/**
	 * Obtiene el ultimo a�o y mes de pagos.
	 * 
	 * @return Pagos
	 */
	public Pagos obtenerUltimaFechaPago();

}
