コード例 #1
0
        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;
        }
コード例 #2
0
        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;
        }