package com.ejie.ab61.dao.moduloAdministrativo;

import java.util.List;

import com.ejie.ab61.model.moduloAdministrativo.HuecosFolderNumber;
import com.ejie.ab61.model.moduloAdministrativo.ModuloAdministracion;
import com.ejie.ab61.model.solicitudes.MensajesSolicitud;
import com.ejie.ab61.model.solicitudes.Solicitudes;
import com.ejie.ab61.model.usuario.Usuario;
import com.ejie.x38.dto.JQGridRequestDto;
import com.ejie.x38.dto.TableRowDto;

public interface ModuloAdministracionDao {

	List<ModuloAdministracion> findAllLike(ModuloAdministracion filterModuloAdministrativo,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	Long findAllLikeCount(ModuloAdministracion filterModuloAdministrativo, Boolean startsWith);

	List<TableRowDto<ModuloAdministracion>> reorderSelection(ModuloAdministracion filterModuloAdministrativo,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	String obtenerMensaje(String idMensaje);

	String obtenerSolicitud(String idMensaje);

	Integer obtenerConfiguracion(String idMensaje);

	List<ModuloAdministracion> findAllLikeTrazasMensajes(ModuloAdministracion filterTrazas,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	Long findAllLikeCountTrazasMensajes(ModuloAdministracion trazas, Boolean startsWith);

	List<TableRowDto<ModuloAdministracion>> reorderSelectionTrazasMensajes(ModuloAdministracion filterTrazas,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	List<ModuloAdministracion> findAllLikeTrazasSolicitudes(ModuloAdministracion filterTrazas,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	Long findAllLikeCountTrazasSolicitudes(ModuloAdministracion moduloAdministracion, Boolean startsWith);

	List<TableRowDto<ModuloAdministracion>> reorderSelectionTrazasSolicitudes(ModuloAdministracion filterTrazas,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	void guardarTextoMensajeLimpiado(Integer id, String textoLimpiado, Usuario usuario);

	void guardarTextoSolicitudLimpiado(Integer id, String textoLimpiado, Usuario usuario);

	String obtenerTarea(String id);

	List<ModuloAdministracion> findAllLikeTrazasMensajes(Integer idMensaje);

	List<ModuloAdministracion> findAllLikeTrazasSolicitudes(Integer idMensaje);

	Long countTrazasMensajes(Integer idMensaje);

	Long countTrazasSolicitudes(Integer idMensaje);

	MensajesSolicitud guardarMensajeFicticio(MensajesSolicitud mensajeFicticio);

	List<HuecosFolderNumber> findAllLike(HuecosFolderNumber filterHuecosFolderNumber, JQGridRequestDto jqGridRequestDto,
			boolean startsWith);

	Long findAllLikeCount(HuecosFolderNumber huecosFolderNumber, boolean startsWith);

	List<TableRowDto<HuecosFolderNumber>> reorderSelection(HuecosFolderNumber filterHuecosFolderNumber,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

	List<HuecosFolderNumber> findAllLikeNull(HuecosFolderNumber filterHuecosFolderNumber,
			JQGridRequestDto jqGridRequestDto, boolean b);

	Long findAllLikeCountNull(HuecosFolderNumber huecosFolderNumber, boolean b);

	List<TableRowDto<HuecosFolderNumber>> reorderSelectionNull(HuecosFolderNumber filterHuecosFolderNumber,
			JQGridRequestDto jqGridRequestDto, Boolean startsWith);

}
