package br.com.centralit.citcorpore.negocio; import java.io.File; import java.io.IOException; import java.util.Collection; import br.com.centralit.citcorpore.bean.ADUserDTO; import br.com.centralit.citcorpore.bean.LoginDTO; import br.com.centralit.citcorpore.bean.UsuarioDTO; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.LogicException; import br.com.citframework.excecao.ServiceException; import br.com.citframework.service.CrudService; public interface UsuarioService extends CrudService { /** * Restaura Usu�rio por Login. * * @param login * @return * @throws ServiceException * @throws LogicException */ public UsuarioDTO restoreByLogin(String login) throws ServiceException, LogicException; public UsuarioDTO restoreByID(Integer id) throws ServiceException, LogicException; public UsuarioDTO restoreByLogin(String login, String senha) throws ServiceException, LogicException; public void deleteByIdEmpregado(Integer idEmpregado) throws ServiceException, Exception; public UsuarioDTO restoreByIdEmpregado(Integer idEmpregado) throws ServiceException, Exception; public IDto createFirs(IDto model) throws ServiceException, LogicException; public UsuarioDTO listStatus(UsuarioDTO obj) throws Exception; public UsuarioDTO listLogin(UsuarioDTO obj) throws Exception; public UsuarioDTO listUsuarioExistente(UsuarioDTO obj) throws Exception; public boolean listSeVazio() throws Exception; void updateNotNull(IDto dto); /** * Sincroniza Usu�rio que logou no sistema. * * @param usuarioAd * @param login * @throws ServiceException * @throws Exception */ public void sincronizaUsuarioAD(ADUserDTO usuarioAd, LoginDTO login, Boolean isImport) throws ServiceException, Exception; /** * Sincroniza Usu�rio pela rotina de Schedule. * * @param usuarioAd * @throws ServiceException * @throws Exception */ public void sincronizaUsuarioAD(ADUserDTO usuarioAd, Integer idGrupoSolicitante) throws ServiceException, Exception; public UsuarioDTO restoreByIdEmpregadosDeUsuarios(Integer idEmpregado) throws Exception; /** * Verifica se usu�rio informado � um usu�rio do AD. * * @param usuarioDto * @return true - Usu�rio do AD; false - Usu�rio cadastrado pelo sistema. * @throws Exception */ public boolean usuarioIsAD(UsuarioDTO usuarioDto) throws Exception; /** * Gera carga de Usu�rios do AD atrav�s de Arquivo .csv * * @param arquivo * @throws IOException * @author Vadoilo Damasceno */ public void gerarCarga(File arquivo) throws IOException; public Collection listAtivos() throws Exception; public Collection<UsuarioDTO> consultarUsuarioPorNomeAutoComplete(String nome) throws Exception; /** * Retorna a quantidade de usu�rios ativos no sistema * * @return Long * @throws Exception * @author renato.jesus */ public Long retornaQuantidadeUsuariosAtivos() throws Exception; }