package com.ejie.m62fb.service.registroVPP;

import java.util.List;

import com.ejie.m62fb.model.Propietario;
import com.ejie.x38.dto.JQGridRequestDto;
import com.ejie.x38.dto.JQGridResponseDto;

/**
 * PropietarioService generated by UDA, 23-sep-2015 11:53:47.
 * 
XXXX
 */

public interface PropietarioService {

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

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

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

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

	/**
	 * Finds a list of rows in the Propietario table.
	 * 
	 * @param propietario
	 *            Propietario
	 * @param jqGridRequestDto
	 *            JQGridRequestDto
	 * @return List<Propietario>
	 */
	List<Propietario> findAll(Propietario propietario,
			JQGridRequestDto jqGridRequestDto);

	/**
	 * Finds rows in the Propietario table using like.
	 * 
	 * @param propietario
	 *            Propietario
	 * @param jqGridRequestDto
	 *            JQGridRequestDto
	 * @param startsWith
	 *            Boolean
	 * @return List<Propietario>
	 */
	List<Propietario> findAllLike(Propietario propietario,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/*
	 * OPERACIONES RUP_TABLE
	 */
	/**
	 * Filter method in the Propietario table.
	 * 
	 * @param filterPropietario
	 *            Propietario
	 * @param jqGridRequestDto
	 *            JQGridRequestDto
	 * @param startsWith
	 *            Boolean
	 * @return JQGridResponseDto<Propietario>
	 */
	JQGridResponseDto<Propietario> filter(Propietario filterPropietario,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/**
	 * Reorder the selection made in Propietario table.
	 * 
	 * @param filterPropietario
	 *            Propietario
	 * @param jqGridRequestDto
	 *            JQGridRequestDto
	 * @param startsWith
	 *            Boolean
	 * @return Object
	 */
	Object reorderSelection(Propietario filterPropietario,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	/**
	 * Consulta si el titular esta en otro contrato de otra vivienda.
	 * 
	 * @param idVivienda
	 *            Integer
	 * @param idPersona
	 *            Integer
	 * @return Integer
	 */
	boolean findTitularesContratos(Integer idVivienda, Integer idPersona);

}
