package com.ejie.ab04b.service;

import java.util.List;

import com.ejie.ab04b.exception.AB04BException;
import com.ejie.ab04b.model.Vlistestprev;
import com.ejie.x38.dto.JQGridRequestDto;
import com.ejie.x38.dto.JQGridResponseDto;
import com.ejie.x38.dto.TableRowDto;

/**
 * VlistestprevService generated by UDA, 19-sep-2017 13:57:16.
 * 
 * @author UDA
 */

public interface VlistestprevService {

	/**
	 * Inserts a single row in the Vlistestprev table.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *  Vlistestprev
	 *
	 * @param vlistestprev the vlistestprev
	 * @return the vlistestprev
	 */
	Vlistestprev add(Vlistestprev vlistestprev);

	/**
	 * Updates a single row in the Vlistestprev table.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *  Vlistestprev
	 *
	 * @param vlistestprev the vlistestprev
	 * @return the vlistestprev
	 */
	Vlistestprev update(Vlistestprev vlistestprev);

	/**
	 * Finds a single row in the Vlistestprev table.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *  Vlistestprev
	 *
	 * @param vlistestprev the vlistestprev
	 * @return the vlistestprev
	 */
	Vlistestprev find(Vlistestprev vlistestprev);

	/**
	 * Deletes a single row in the Vlistestprev table.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *
	 * @param vlistestprev the vlistestprev
	 */
	void remove(Vlistestprev vlistestprev);

	/**
	 * Finds a list of rows in the Vlistestprev table.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  List<Vlistestprev>
	 *
	 * @param vlistestprev the vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @return the list
	 */
	List<Vlistestprev> findAll(Vlistestprev vlistestprev,
			JQGridRequestDto jqGridRequestDto);

	/**
	 * Finds rows in the Vlistestprev table using like.
	 * 
	 *  vlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  startsWith
	 *            Boolean
	 *  List<Vlistestprev>
	 *
	 * @param vlistestprev the vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @param startsWith the starts with
	 * @return the list
	 */
	List<Vlistestprev> findAllLike(Vlistestprev vlistestprev,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/*
	 * OPERACIONES RUP_TABLE
	 */

	/**
	 * Removes rows from the Vlistestprev table.
	 * 
	 *  filterVlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  startsWith
	 *            Boolean
	 *
	 * @param filterVlistestprev the filter vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @param startsWith the starts with
	 */
	void removeMultiple(Vlistestprev filterVlistestprev,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/**
	 * Filter method in the Vlistestprev table.
	 * 
	 *  filterVlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  startsWith
	 *            Boolean
	 *  JQGridResponseDto<Vlistestprev>
	 *
	 * @param filterVlistestprev the filter vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @param startsWith the starts with
	 * @return the JQ grid response dto
	 */
	JQGridResponseDto<Vlistestprev> filter(Vlistestprev filterVlistestprev,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/**
	 * Searches rows in the Vlistestprev table.
	 * 
	 *  filterVlistestprev
	 *            Vlistestprev
	 *  searchVlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  startsWith
	 *            Boolean
	 *  List<TableRowDto<Vlistestprev>>
	 *
	 * @param filterVlistestprev the filter vlistestprev
	 * @param searchVlistestprev the search vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @param startsWith the starts with
	 * @return the list
	 */
	List<TableRowDto<Vlistestprev>> search(Vlistestprev filterVlistestprev,
			Vlistestprev searchVlistestprev, JQGridRequestDto jqGridRequestDto,
			Boolean startsWith);

	/**
	 * Reorder the selection made in Vlistestprev table.
	 * 
	 *  filterVlistestprev
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  startsWith
	 *            Boolean
	 *  Object
	 *
	 * @param filterVlistestprev the filter vlistestprev
	 * @param jqGridRequestDto the jq grid request dto
	 * @param startsWith the starts with
	 * @return the object
	 */
	Object reorderSelection(Vlistestprev filterVlistestprev,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/**
	 * Devuelve la ruta del pdf generado.
	 * 
	 *  filtro
	 *            Vlistestprev
	 *  jqGridRequestDto
	 *            JQGridRequestDto
	 *  String
	 *
	 * @param filtro the filtro
	 * @param jqGridRequestDto the jq grid request dto
	 * @return the string
	 * @throws AB04BException the AB 04 B exception
	 */
	String filterVlistestprevPDF(Vlistestprev filtro,
			JQGridRequestDto jqGridRequestDto) throws AB04BException;

}
