コード例 #1
0
        public async Task <IActionResult> GerarRendimentos(int id, int meses)
        {
            var usuario = User.Identity.Name;

            try
            {
                Plano plano = await planosDAL.BuscarPlanoCompleto(id);

                if (plano == null || plano.Usuario != usuario)
                {
                    throw new KeyNotFoundException("Plano não encontrado");
                }

                List <ResumoFinanceiro> rendimentos = plano.PrevisaoRendimentos(meses);

                return(Ok(rendimentos));
            }
            catch (KeyNotFoundException ex)
            {
                gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {id}");
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                gravadorLog.GravarLogErro(ex, 500);
                return(StatusCode(500));
            }
        }
コード例 #2
0
        public void RetornandoDiasCorretosPlanoFinanceiro()
        {
            Plano plano = DadosBaseTestes.GeradorPlanoCompleto();

            List <ResumoFinanceiro> resumoFinanceiros = plano.PrevisaoRendimentos(10);

            Assert.Equal(10, resumoFinanceiros.Count);
        }
コード例 #3
0
        public void PlanoSemConfiguracaoCiclos()
        {
            Plano plano = DadosBaseTestes.GeradorPlanoCompleto();

            plano.ConfigCiclos = null;

            Assert.Throws <ArgumentNullException>(() => plano.PrevisaoRendimentos(10));
        }
コード例 #4
0
        public void RetornaValorCorretoPrevisaoRendimentos(string mes, double esperado)
        {
            Plano plano = DadosBaseTestes.GeradorPlanoSimples();

            List <ResumoFinanceiro> resumosFinanceiros = plano.PrevisaoRendimentos(10);

            ResumoFinanceiro resumo = resumosFinanceiros
                                      .FirstOrDefault(r => r.AnoMes == mes);

            double valorAtual = Math.Round(resumo.ValorTotal, 2);

            Assert.Equal(esperado, valorAtual);
        }