Esempio n. 1
0
        public List <ResumoFinanceiro> PrevisaoRendimentos(int mesesPrevisao)
        {
            if (ConfigCiclos == null || !ConfigCiclos.Any())
            {
                throw new ArgumentNullException("Configuração dos ciclos está vazia");
            }

            ConfigCiclos ConfigAtual = ConfigCiclos.OrderBy(c => c.AnoMes)
                                       .FirstOrDefault();

            List <ResumoFinanceiro> resumosFinanceiros = new List <ResumoFinanceiro>();

            string AnoMes = ConfigAtual.AnoMes;

            DatasHelper.TrySplitAnoMes(ConfigAtual.AnoMes, out int ano, out int mes);
            double valorAtual = ValorBase;

            for (int i = 0; i < mesesPrevisao; i++)
            {
                ResumoFinanceiro resumoFinanceiro = ConfigAtual.Ciclo.RendimentoMensal(valorAtual, ano, mes);
                resumosFinanceiros.Add(resumoFinanceiro);

                DatasHelper.AvancaAnoMes(ref ano, ref mes);
                valorAtual  = resumoFinanceiro.ValorTotal;
                ConfigAtual = PegarUltimoConfigData(ano, mes);
            }

            return(resumosFinanceiros);
        }
Esempio n. 2
0
        private ConfigCiclos PegarUltimoConfigData(int ano, int mes)
        {
            ConfigCiclos configCiclos = ConfigCiclos
                                        .Where(c => DatasHelper.CompareAnoMesWithSplitedAnoMes(c.AnoMes, ano, mes))
                                        .OrderByDescending(c => c.AnoMes)
                                        .FirstOrDefault();

            return(configCiclos);
        }