public FileDownloadDTO ExportarRelTabelaBasica(int?tipoTabelaId, FormatoExportacaoArquivo formato) { if (!EhPermitidoImprimir()) { messageQueue.Add(Resource.Sigim.ErrorMessages.PrivilegiosInsuficientes, TypeMessage.Error); return(null); } List <TabelaBasicaDTO> listaTabelaBasica = new List <TabelaBasicaDTO>(); string nomeTabela = ""; switch (tipoTabelaId) { case (int)TabelaBasicaFinanceiro.AssuntoContato: var specificationAssuntoContato = (Specification <AssuntoContato>) new TrueSpecification <AssuntoContato>(); listaTabelaBasica = assuntoContatoRepository.ListarPeloFiltro(specificationAssuntoContato).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.AssuntoContato.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.BairroInteresse: var specificationBairroInteresse = (Specification <InteresseBairro>) new TrueSpecification <InteresseBairro>(); listaTabelaBasica = interesseBairroRepository.ListarPeloFiltro(specificationBairroInteresse).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.BairroInteresse.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.EstadoCivil: var specificationEstadoCivil = (Specification <EstadoCivil>) new TrueSpecification <EstadoCivil>(); listaTabelaBasica = estadoCivilRepository.ListarPeloFiltro(specificationEstadoCivil).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.EstadoCivil.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.FonteNegocio: var specificationFonteNegocio = (Specification <FonteNegocio>) new TrueSpecification <FonteNegocio>(); listaTabelaBasica = fonteNegocioRepository.ListarPeloFiltro(specificationFonteNegocio).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.FonteNegocio.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Grupo: var specificationGrupo = (Specification <Grupo>) new TrueSpecification <Grupo>(); listaTabelaBasica = grupoRepository.ListarPeloFiltro(specificationGrupo).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Grupo.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Nacionalidade: var specificationNacionalidade = (Specification <Nacionalidade>) new TrueSpecification <Nacionalidade>(); listaTabelaBasica = nacionalidadeRepository.ListarPeloFiltro(specificationNacionalidade).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Nacionalidade.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Parentesco: var specificationParentesco = (Specification <Parentesco>) new TrueSpecification <Parentesco>(); listaTabelaBasica = parentescoRepository.ListarPeloFiltro(specificationParentesco).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Parentesco.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Profissao: var specificationProfissao = (Specification <Profissao>) new TrueSpecification <Profissao>(); listaTabelaBasica = profissaoRepository.ListarPeloFiltro(specificationProfissao).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Profissao.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.RamoAtividade: var specificationRamoAtividade = (Specification <RamoAtividade>) new TrueSpecification <RamoAtividade>(); listaTabelaBasica = ramoAtividadeRepository.ListarPeloFiltro(specificationRamoAtividade).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.RamoAtividade.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Relacionamento: var specificationRelacionamento = (Specification <Relacionamento>) new TrueSpecification <Relacionamento>(); listaTabelaBasica = relacionamentoRepository.ListarPeloFiltro(specificationRelacionamento).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Relacionamento.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Tipologia: var specificationTipologia = (Specification <Tipologia>) new TrueSpecification <Tipologia>(); listaTabelaBasica = tipologiaRepository.ListarPeloFiltro(specificationTipologia).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Tipologia.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.Tratamento: var specificationTratamento = (Specification <Tratamento>) new TrueSpecification <Tratamento>(); listaTabelaBasica = tratamentoRepository.ListarPeloFiltro(specificationTratamento).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.Tratamento.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.TipoArea: var specificationTipoArea = (Specification <TipoArea>) new TrueSpecification <TipoArea>(); listaTabelaBasica = tipoAreaRepository.ListarPeloFiltro(specificationTipoArea).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.TipoArea.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.TipoCaracteristica: var specificationTipoCaracteristica = (Specification <TipoCaracteristica>) new TrueSpecification <TipoCaracteristica>(); listaTabelaBasica = tipoCaracteristicaRepository.ListarPeloFiltro(specificationTipoCaracteristica).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.TipoCaracteristica.ObterDescricao(); break; case (int)TabelaBasicaFinanceiro.TipoEspecificacao: var specificationTipoEspecificacao = (Specification <TipoEspecificacao>) new TrueSpecification <TipoEspecificacao>(); listaTabelaBasica = tipoEspecificacaoRepository.ListarPeloFiltro(specificationTipoEspecificacao).To <List <TabelaBasicaDTO> >(); nomeTabela = TabelaBasicaFinanceiro.TipoEspecificacao.ObterDescricao(); break; default: break; } relTabelaBasica objRel = new relTabelaBasica(); objRel.SetDataSource(RelRateioAutomaticoToDataTable(listaTabelaBasica)); var parametros = parametrosFinanceiroRepository.Obter(); CentroCusto centroCusto = null; var caminhoImagem = PrepararIconeRelatorio(centroCusto, parametros); var nomeEmpresa = ObterNomeEmpresa(centroCusto, parametros); objRel.SetParameterValue("nomeTabela", nomeTabela); objRel.SetParameterValue("nomeSistema", "FINANCEIRO"); objRel.SetParameterValue("caminhoImagem", caminhoImagem); FileDownloadDTO arquivo = new FileDownloadDTO("Rel. Tabelas básicas", objRel.ExportToStream((ExportFormatType)formato), formato); if (System.IO.File.Exists(caminhoImagem)) { System.IO.File.Delete(caminhoImagem); } return(arquivo); }