Ejemplo n.º 1
0
        public Response ExportarTabela(int usuarioIntegracao)
        {
            var oportunidade = _oportunidadeDAO.ObterOportunidadePorId(_oportunidadeId);

            if (oportunidade == null)
            {
                return new Response
                       {
                           Sucesso  = false,
                           Mensagem = $"Oportunidade {_oportunidadeId} não encontrada"
                       }
            }
            ;

            _tabelasDAO.ExcluirTabelaCobrancaIPA(oportunidade.Id);

            oportunidade.UsuarioIntegracaoId = usuarioIntegracao;

            var tabelaCobranca = _tabelasDAO.CadastrarTabelaCobrancaSGIPA(oportunidade);

            //_tabelasDAO.ExportarLotes(tabelaCobranca, oportunidade.Id);

            if (oportunidade.TabelaReferencia == 0)
            {
                _exportaTabelasService.ExportarServicos(tabelaCobranca);

                _tabelasDAO.ImportarImpostos(0, tabelaCobranca);
            }
            else
            {
                //_tabelasDAO.ImportarServicosFixos(oportunidade.TabelaReferencia, tabelaCobranca);
                //_tabelasDAO.ImportarServicosVariaveis(oportunidade.TabelaReferencia, tabelaCobranca);
                //_tabelasDAO.ImportarImpostos(oportunidade.TabelaReferencia, tabelaCobranca);
                //_tabelasDAO.ImportarFontePagadora(oportunidade.TabelaReferencia, tabelaCobranca);
            }

            _tabelasDAO.AtualizaDataVendedor(tabelaCobranca);

            return(new Response
            {
                Sucesso = true,
                TabelaId = tabelaCobranca,
                Mensagem = $"Tabela {tabelaCobranca} criada com sucesso"
            });
        }
    }
Ejemplo n.º 2
0
        public Response Iniciar()
        {
            var oportunidade = _oportunidadeDAO.ObterOportunidadePorId(_oportunidadeId);

            if (oportunidade == null)
            {
                throw new Exception($"Oportunidade {_oportunidadeId} não encontrada");
            }

            var parametrosSimulador = _simuladorDAO.ObterParametroSimuladorCRMPorId(_simuladorParametroId);

            if (parametrosSimulador == null)
            {
                throw new Exception($"Parâmetro não cadastrado");
            }

            _simuladorDAO.ExcluirTabelasCobrancasPorOportunidade(oportunidade.Id);

            var tabelaCobranca = _simuladorDAO.CadastrarTabelaCobrancaCRM(oportunidade);

            _exportaTabelasService.ExportarServicos(tabelaCobranca);

            var calculo = new CalculoSimuladorService(true);

            var simuladorId = CriarSimulador(parametrosSimulador, oportunidade);

            calculo.CalcularTabelas(new Requests.CalculoRequest
            {
                CRM         = true,
                SimuladorId = simuladorId,
                Tabelas     = new[] {
                    tabelaCobranca
                }
            });

            var relatorio = new RelatorioExcel();

            var excel = relatorio.Gerar(new GerarExcelFiltro
            {
                CRM                    = true,
                OportunidadeId         = oportunidade.Id,
                ComAnaliseDeDados      = false,
                ServicosComplementares = false,
                DadosDoCliente         = true,
                SomenteEstimativa      = false,
                DataPgtoInicial        = DateTime.Now.AddMonths(-6).ToString("dd/MM/yyyy"),
                DataPgtoFinal          = DateTime.Now.ToString("dd/MM/yyyy"),
                SimuladorId            = simuladorId,
                ParametroSimuladorId   = _simuladorParametroId,
                ModeloSimuladorId      = _modeloSimuladorId,
                UsuarioSimuladorId     = _usuarioId
            });

            if (Configuracoes.BancoEmUso() != "ORACLE")
            {
                var valoresTicket = _oportunidadeDAO.ObterValoresTicket(tabelaCobranca);

                if (valoresTicket != null)
                {
                    valoresTicket.OportunidadeId = oportunidade.Id;
                    valoresTicket.TabelaId       = tabelaCobranca;

                    _oportunidadeDAO.AtualizarValoresTicket(valoresTicket);
                }
            }

            _simuladorDAO.ExcluirCalculosAntigosSimulador(simuladorId);

            return(new Response
            {
                Sucesso = true,
                Mensagem = "Relatório gerado com sucesso",
                ArquivoId = excel.ArquivoId,
                Base64 = excel.Base64,
                Hash = excel.Hash,
                NomeArquivo = excel.NomeArquivo,
                TamanhoArquivo = excel.TamanhoArquivo
            });
        }