public static bool ImportarBlueBill(SageOneContext db, Stream fileStream) { DbContextTransaction transaction = db.Database.BeginTransaction(); try { StreamReader reader = new StreamReader(fileStream); string linha; // Ignora o cabeçalho. if ((!reader.EndOfStream)) linha = reader.ReadLine(); while (!reader.EndOfStream) { linha = reader.ReadLine(); Produto produto = ParseBlueBill(linha); db.Produtos.Add(produto); } db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw new Exception("Erro ao importar o arquivo no formato BlueBill. Verifique se o arquivo está no formato correto. Mensagem original: " + ex.Message); } return true; }
public static bool ImportarYouDoInvoice(SageOneContext db, Stream fileStream) { DbContextTransaction transaction = db.Database.BeginTransaction(); try { StreamReader reader = new StreamReader(fileStream); while (!reader.EndOfStream) { string linha = reader.ReadLine(); if (linha[0] == 'I') { Produto produto = ParseYouDoInvoice(linha); db.Produtos.Add(produto); } } db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw new Exception("Erro ao importar o arquivo no formato YouDoInvoice. Verifique se o arquivo está no formato correto. Mensagem original: " + ex.Message); } return true; }