Beispiel #1
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);
        }