public Response ExportarTabelas(int oportunidadeId, int usuarioId) { try { var oportunidade = _oportunidadeDAO.ObterOportunidadePorId(oportunidadeId); if (oportunidade == null) { return(new Response { Sucesso = false, Mensagem = $"Oportunidade {oportunidadeId} não encontrada" }); } if (oportunidade.TipoOperacao != TipoOperacao.RA) { return(new Response { Sucesso = false, Mensagem = $"Disponível apenas para Tipo de Operação {oportunidade.TipoOperacao.ToName()}" }); } var tabelaCobrancaService = new TabelaCobrancaService(oportunidadeId) .ExportarTabela(usuarioId); if (oportunidade.FormaPagamentoId == FormaPagamento.FATURADO) { var fichasFaturamento = _oportunidadeDAO.ObterFichasFaturamento(oportunidade.Id); foreach (var ficha in fichasFaturamento) { IntregrarFichasChronos(oportunidade.Id, ficha.Id); } } return(tabelaCobrancaService); } catch (Exception ex) { return(new Response { Sucesso = false, Mensagem = $"Falha ao simular a Oportunidade. {ex.Message}" }); } }
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); 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" }); }
public Response SimuladorOportunidade(int oportunidadeId, int simuladorParametroId, int modeloSimuladorId, int usuarioId) { try { var oportunidade = _oportunidadeDAO.ObterOportunidadePorId(oportunidadeId); if (oportunidade == null) { return(new Response { Sucesso = false, Mensagem = $"Oportunidade {oportunidadeId} não encontrada" }); } var response = new SimuladorCRMService(oportunidadeId, simuladorParametroId, modeloSimuladorId, usuarioId) .Iniciar(); return(new Response { Sucesso = true, Mensagem = response.Mensagem, ArquivoId = response.ArquivoId, Base64 = response.Base64, NomeArquivo = response.NomeArquivo, Hash = response.Hash, TamanhoArquivo = response.TamanhoArquivo }); } catch (Exception ex) { return(new Response { Sucesso = false, Mensagem = $"Falha ao simular a Oportunidade. {ex.Message}" }); } }
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 }); }