public Response CalcularTabelas(int simuladorId, string tabelas, bool crm) { try { if (simuladorId == 0) { throw new Exception("ID do Simulador não informado"); } var service = new CalculoSimuladorService(false); int[] tabelasArray = Array.ConvertAll <string, int>(tabelas.Split(','), int.Parse); if (tabelasArray.Length == 0) { throw new Exception("Nenhuma Tabela de Cobrança informada"); } service.CalcularTabelas(new CalculoRequest { SimuladorId = simuladorId, Tabelas = tabelasArray, CRM = crm }); return(new Response { Sucesso = true }); } catch (Exception ex) { return(new Response { Sucesso = false, Mensagem = ex.ToString() }); } }
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 }); }