Ejemplo n.º 1
0
        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}"
                });
            }
        }
Ejemplo n.º 2
0
        public Response CancelarTabela(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)
                                            .CancelarTabela(usuarioId);

                return(new Response
                {
                    Sucesso = true,
                    Mensagem = tabelaCobrancaService.Mensagem
                });
            }
            catch (Exception ex)
            {
                return(new Response
                {
                    Sucesso = false,
                    Mensagem = $"Falha ao simular a Oportunidade. {ex.Message}"
                });
            }
        }