Example #1
0
func ReadVenaplo(venaploFile string, invoices schema.Szamlak) (schema.Szamlak, error) {
	dbfFile, err := dbf.OpenFile(util.GetDbfFile(venaploFile), new(dbf.Win1250Decoder))
	if err != nil {
		return invoices, err
	}
	defer dbfFile.Close()

	for i := uint32(0); i < dbfFile.NumRecords(); i++ {
		err := dbfFile.GoTo(i)
		if err != nil {
			return invoices, err
		}
		deleted, err := dbfFile.Deleted()
		if err != nil {
			return invoices, err
		}
		if deleted {
			continue
		}

		invoice, err := createInvoice(util.NewNamedDbf(dbfFile))
		if err != nil {
			return invoices, err
		}
		invoices.Szamla = append(invoices.Szamla, invoice)
	}

	return invoices, nil
}