package com.ejie.m62fb.service;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.ejie.m62fb.model.M62fbDisponibilidadVivs;
import com.ejie.x38.dto.Pagination;

/**
 * M62fbDisponibilidadVivsService generated by UDA, 17-oct-2012 15:45:50.
 * 
XXXX
 */

public interface M62fbDisponibilidadVivsService {

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

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

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

	/**
	 * Finds a List of rows in the M62fbDisponibilidadVivs table.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAll(
			M62fbDisponibilidadVivs m62fbDisponibilidadVivs,
			Pagination pagination);

	/**
	 * Counts rows in the M62fbDisponibilidadVivs table.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @return Long
	 */
	Long findAllCount(M62fbDisponibilidadVivs m62fbDisponibilidadVivs);

	/**
	 * Finds rows in the M62fbDisponibilidadVivs table using like.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @param pagination
	 *            Pagination
	 * @param startsWith
	 *            Boolean
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllLike(
			M62fbDisponibilidadVivs m62fbDisponibilidadVivs,
			Pagination pagination, Boolean startsWith);

	/**
	 * Counts rows in the M62fbDisponibilidadVivs table using like.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @param startsWith
	 *            Boolean
	 * @return Long
	 */
	Long findAllLikeCount(M62fbDisponibilidadVivs m62fbDisponibilidadVivs,
			Boolean startsWith);

	/**
	 * Deletes a single row in the M62fbDisponibilidadVivs table.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @return
	 */
	void remove(M62fbDisponibilidadVivs m62fbDisponibilidadVivs);

	/**
	 * Deletes a single row in the M62fbDisponibilidadVivs table.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @return
	 */
	void removeVivOfer(M62fbDisponibilidadVivs m62fbDisponibilidadVivs);

	/**
	 * Deletes multiple rows in the M62fbDisponibilidadVivs table.
	 * 
	 * @param m62fbDisponibilidadVivsList
	 *            List
	 * @return
	 */
	void removeMultiple(
			List<M62fbDisponibilidadVivs> m62fbDisponibilidadVivsList);

	/**
	 * Finds rows in the catalogo table using like.
	 * 
	 * @param numVivienda
	 *            BigDecimal
	 * @param numExpediente
	 *            String
	 * @param fecIncorporacionCatDesde
	 *            Date
	 * @param fecIncorporacionCatHasta
	 *            Date
	 * @param codProvincia
	 *            String
	 * @param codMunicipio
	 *            String
	 * @param fecIniSituacionDesde
	 *            Date
	 * @param fecIniSituacionHasta
	 *            Date
	 * @param codSituacion
	 *            String
	 * @param fecFinSituacionDesde
	 *            Date
	 * @param fecFinSituacionHasta
	 *            Date
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllPersonalizado(BigDecimal numVivienda,
			String numExpediente, Date fecIncorporacionCatDesde,
			Date fecIncorporacionCatHasta, String codProvincia,
			String codMunicipio, Date fecIniSituacionDesde,
			Date fecIniSituacionHasta, String codSituacion,
			Date fecFinSituacionDesde, Date fecFinSituacionHasta,
			Pagination pagination);

	/**
	 * Counts rows in the catalogo .
	 * 
	 * @param numVivienda
	 *            BigDecimal
	 * @param numExpediente
	 *            String
	 * @param fecIncorporacionCatDesde
	 *            Date
	 * @param fecIncorporacionCatHasta
	 *            Date
	 * @param codProvincia
	 *            String
	 * @param codMunicipio
	 *            String
	 * @param fecIniSituacionDesde
	 *            Date
	 * @param fecIniSituacionHasta
	 *            Date
	 * @param codSituacion
	 *            String
	 * @param fecFinSituacionDesde
	 *            Date
	 * @param fecFinSituacionHasta
	 *            Date
	 * @return Long
	 */
	Long findAllPersonalizadoCount(BigDecimal numVivienda,
			String numExpediente, Date fecIncorporacionCatDesde,
			Date fecIncorporacionCatHasta, String codProvincia,
			String codMunicipio, Date fecIniSituacionDesde,
			Date fecIniSituacionHasta, String codSituacion,
			Date fecFinSituacionDesde, Date fecFinSituacionHasta);

	/**
	 * Finds rows in the catalogoDisp table using like.
	 * 
	 * @param numViviendaFiltro
	 *            Long
	 * @param numExpedienteFiltro
	 *            String
	 * @param codProvinciaFiltro
	 *            String
	 * @param codMunicipioFiltro
	 *            String
	 * @param codRegAccesoFiltro
	 *            String
	 * @param codRegTenenciaFiltro
	 *            String
	 * @param indVivAdaptadaFiltro
	 *            String
	 * @param numDormitoriosDesdeFiltro
	 *            Integer
	 * @param numDormitoriosHastaFiltro
	 *            Integer
	 * @param supUtilVivDesdeFiltro
	 *            BigDecimal
	 * @param supUtilVivHastaFiltro
	 *            BigDecimal
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllPersonalizadoVivDisp(
			BigDecimal numVivienda, String numExpediente, String codProvincia,
			String codMunicipio, String codRegAcceso, String codRegTenencia,
			String indVivAdaptada, Integer numDormitoriosDesde,
			Integer numDormitoriosHasta, BigDecimal supUtilVivDesde,
			BigDecimal supUtilVivHasta, BigDecimal idR45, Pagination pagination);

	/**
	 * Counts rows in the catalogoDisp .
	 * 
	 * @param numViviendaFiltro
	 *            Long
	 * @param numExpedienteFiltro
	 *            String
	 * @param codProvinciaFiltro
	 *            String
	 * @param codMunicipioFiltro
	 *            String
	 * @param codRegAccesoFiltro
	 *            String
	 * @param codRegTenenciaFiltro
	 *            String
	 * @param indVivAdaptadaFiltro
	 *            String
	 * @param numDormitoriosDesdeFiltro
	 *            Integer
	 * @param numDormitoriosHastaFiltro
	 *            Integer
	 * @param supUtilVivDesdeFiltro
	 *            BigDecimal
	 * @param supUtilVivHastaFiltro
	 *            BigDecimal
	 * @return Long
	 */
	Long findAllPersonalizadoVivDispCount(BigDecimal numVivienda,
			String numExpediente, String codProvincia, String codMunicipio,
			String codRegAcceso, String codRegTenencia, String indVivAdaptada,
			Integer numDormitoriosDesde, Integer numDormitoriosHasta,
			BigDecimal supUtilVivDesde, BigDecimal supUtilVivHasta,
			BigDecimal idR45);

	/**
	 * Finds rows in the catalogoVivEnOfer table using like.
	 * 
	 * @param idM62r45t0
	 *            Long
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllPersonalizadoVivEnOfer(
			BigDecimal idM62r45t0, Pagination pagination);

	/**
	 * Counts rows in the catalogoVivEnOfer .
	 * 
	 * @param idM62r45t0
	 *            Long
	 * @return Long
	 */
	Long findAllPersonalizadoVivEnOferCount(BigDecimal idM62r45t0);

	/**
	 * Finds rows in the findAllListadoDeVivParaOfertar table using like.
	 * 
	 * @param idM62r45t0
	 *            Long
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllListadoDeVivParaOfertar(
			BigDecimal idM62r45t0, Pagination pagination);

	/**
	 * Counts rows in the findAllListadoDeVivParaOfertar .
	 * 
	 * @param idM62r45t0
	 *            BigDecimal
	 * @return BigDecimal
	 */
	Long findAllListadoDeVivParaOfertarCount(BigDecimal idM62r45t0);

	/**
	 * Finds rows in the catalogo table using like.
	 * 
	 * @param idM62r45t0
	 *            Long
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllPersonalizadoVivEnCatalogo(
			BigDecimal numVivienda, String numExpediente,
			String fecIncCatDesde, String fecIncCatHasta, String codProvincia,
			String codMunicipio, String codSitCat, String fecIniSitDesde,
			String fecIniSitHasta, String fecFinSitDesde,
			String fecFinSitHasta, Pagination pagination);

	/**
	 * Counts rows in the catalogoVivEnOfer .
	 * 
	 * @param idM62r45t0
	 *            Long
	 * @return Long
	 */
	Long findAllPersonalizadoVivEnCatalogoCount(BigDecimal numVivienda,
			String numExpediente, String fecIncCatDesde, String fecIncCatHasta,
			String codProvincia, String codMunicipio, String codSitCat,
			String fecIniSitDesde, String fecIniSitHasta,
			String fecFinSitDesde, String fecFinSitHasta);

	/**
	 * Finds rows in the findAllListadoParaIncEnCatalogo table using like.
	 * 
	 * @param numViviendaFiltro
	 *            Long
	 * @param numExpedienteFiltro
	 *            String
	 * @param codProvinciaFiltro
	 *            String
	 * @param codMunicipioFiltro
	 *            String
	 * @param codRegAccesoFiltro
	 *            String
	 * @param codRegTenenciaFiltro
	 *            String
	 * @param indVivAdaptadaFiltro
	 *            String
	 * @param numDormitoriosDesdeFiltro
	 *            Integer
	 * @param numDormitoriosHastaFiltro
	 *            Integer
	 * @param supUtilVivDesdeFiltro
	 *            BigDecimal
	 * @param supUtilVivHastaFiltro
	 *            BigDecimal
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllListadoParaIncEnCatalogo(
			BigDecimal numVivienda, String numExpediente, String codProvincia,
			String codMunicipio, String codRegAcceso, String codRegTenencia,
			String indVivAdaptada, Integer numDormitoriosDesde,
			Integer numDormitoriosHasta, BigDecimal supUtilDesde,
			BigDecimal supUtilHasta, Pagination pagination);

	/**
	 * Finds rows in the findAllListadoParaIncEnCatalogoCount table using like.
	 * 
	 * @param numViviendaFiltro
	 *            Long
	 * @param numExpedienteFiltro
	 *            String
	 * @param codProvinciaFiltro
	 *            String
	 * @param codMunicipioFiltro
	 *            String
	 * @param codRegAccesoFiltro
	 *            String
	 * @param codRegTenenciaFiltro
	 *            String
	 * @param indVivAdaptadaFiltro
	 *            String
	 * @param numDormitoriosDesdeFiltro
	 *            Integer
	 * @param numDormitoriosHastaFiltro
	 *            Integer
	 * @param supUtilVivDesdeFiltro
	 *            BigDecimal
	 * @param supUtilVivHastaFiltro
	 *            BigDecimal
	 * @return Long
	 */
	Long findAllListadoParaIncEnCatalogoCount(BigDecimal numVivienda,
			String numExpediente, String codProvincia, String codMunicipio,
			String codRegAcceso, String codRegTenencia, String indVivAdaptada,
			Integer numDormitoriosDesde, Integer numDormitoriosHasta,
			BigDecimal supUtilDesde, BigDecimal supUtilHasta);

	/**
	 * Finds rows in the findAllPersonalizadoVivEnOferExcel table using like.
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @param pagination
	 *            Pagination
	 * @return List
	 */
	List<M62fbDisponibilidadVivs> findAllPersonalizadoVivEnOferExcel(
			BigDecimal idR45, BigDecimal idPersona, String codSitOferta,
			Date fecOfertaDesde, Date fecOfertaHasta, Date fecAceptacionDesde,
			Date fecAceptacionHasta, Date fecFinalizacionDesde,
			Date fecFinalizacionHasta, Date fecDeclinacionDesde,
			Date fecDeclinacionHasta, Pagination pagination);

	/**
	 * Counts rows in the findAllPersonalizadoVivEnOferExcelCount .
	 * 
	 * @param m62fbDisponibilidadVivs
	 *            M62fbDisponibilidadVivs
	 * @return Long
	 */
	Long findAllPersonalizadoVivEnOferExcelCount(BigDecimal idR45,
			BigDecimal idPersona, String codSitOferta, Date fecOfertaDesde,
			Date fecOfertaHasta, Date fecAceptacionDesde,
			Date fecAceptacionHasta, Date fecFinalizacionDesde,
			Date fecFinalizacionHasta, Date fecDeclinacionDesde,
			Date fecDeclinacionHasta);

}
