private void LerDetalhesCampeonato(Stream stream, Campeonato campeonato) { stream.Seek(0, SeekOrigin.Begin); bool deveLerDetalhesCampeonato = false; var sr = new StreamReader(stream); while (!sr.EndOfStream) { var linha = sr.ReadLine(); if (string.IsNullOrEmpty(linha) && deveLerDetalhesCampeonato || linha.Where(c => !char.IsControl(c)).Count() == 0) { continue; } else if ((linha.Contains("----") && !deveLerDetalhesCampeonato)) { deveLerDetalhesCampeonato = true; } else if (deveLerDetalhesCampeonato) { var viewmodel = InterpretarDetalhesCampeonato(linha); var mapped = _mapper.Map <DetalheCampeonato>(viewmodel); mapped.SetCampeonato(campeonato); campeonato.RegistrarDetalhesCampeonato(mapped); } } stream.Seek(0, SeekOrigin.Begin); }