示例#1
0
 public void UpdateFundoMes(Fundo fundo)
 {
     _fundoMes = fundo.Meses.FirstOrDefault(m => m.Mes == Mes) ?? new FundoMes()
     {
         Fundo = fundo
     };
     _fundoMes.Mes               = Mes;
     _fundoMes.CotaValor         = _cotaValor;
     _fundoMes.RendimentoMes     = ExtratoReader.GetMovimentoValor(_rendimentos.ElementAt(0));
     _fundoMes.RendimentoAno     = ExtratoReader.GetMovimentoValor(_rendimentos.ElementAt(1));
     _fundoMes.Rendimento12Meses = ExtratoReader.GetMovimentoValor(_rendimentos.ElementAt(2));
     if (_fundoMes.FundoMesId == 0)
     {
         fundo.Meses.Add(_fundoMes);
     }
 }
示例#2
0
        public FundoNoExtrato(IReadOnlyList <string> textoAsArray, int index)
        {
            Nome = textoAsArray[index].Substring(0, 40).Trim();
            CNPJ = ExtratoReader.GetCNPJ(textoAsArray[index], true);

            var extrato = textoAsArray.Skip(index + 1).TakeWhile(r => !r.StartsWith("BB"));
            var movs    = extrato.Skip(3).TakeWhile(r => !r.StartsWith("---"));

            _cotaValor       = ExtratoReader.GetMovimentoValor(extrato.Skip(movs.Count() + 7).Take(1).First());
            _rendimentoBruto = ExtratoReader.GetMovimentoValor(extrato.First(r => r.StartsWith("RENDIMENTO BRUTO")));
            _rendimentos     = extrato.SkipWhile(r => !r.StartsWith("No mês:")).Take(3);
            _movimentos      = movs.Where(m => ExtratoReader.GetDate(m.Substring(0, 10)) != null)
                               .Select(m => new Movimento(m));

            var mes = _movimentos.Last().Data;

            Mes = mes.AddDays(1 - mes.Day);
        }