예제 #1
0
        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);
        }