mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-17 00:12:11 +08:00
import transactions from iif file
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
package iif
|
||||
|
||||
// iifAccountDataset defines the structure of intuit interchange format (iif) account dataset
|
||||
type iifAccountDataset struct {
|
||||
accountDataColumnIndexes map[string]int
|
||||
accounts []*iifAccountData
|
||||
}
|
||||
|
||||
// iifAccountData defines the structure of intuit interchange format (iif) account data
|
||||
type iifAccountData struct {
|
||||
dataItems []string
|
||||
}
|
||||
|
||||
// iifTransactionDataset defines the structure of intuit interchange format (iif) transaction dataset
|
||||
type iifTransactionDataset struct {
|
||||
transactionDataColumnIndexes map[string]int
|
||||
splitDataColumnIndexes map[string]int
|
||||
transactions []*iifTransactionData
|
||||
}
|
||||
|
||||
// iifTransactionData defines the structure of intuit interchange format (iif) transaction data
|
||||
type iifTransactionData struct {
|
||||
dataItems []string
|
||||
splitData []*iifTransactionSplitData
|
||||
}
|
||||
|
||||
// iifTransactionSplitData defines the structure of intuit interchange format (iif) transaction split data
|
||||
type iifTransactionSplitData struct {
|
||||
dataItems []string
|
||||
}
|
||||
|
||||
func (s *iifTransactionDataset) getTransactionDataItemValue(transactionData *iifTransactionData, columnName string) (string, bool) {
|
||||
if transactionData == nil {
|
||||
return "", false
|
||||
}
|
||||
|
||||
index, exists := s.transactionDataColumnIndexes[columnName]
|
||||
|
||||
if !exists || index < 0 || index >= len(transactionData.dataItems) {
|
||||
return "", false
|
||||
}
|
||||
|
||||
return transactionData.dataItems[index], true
|
||||
}
|
||||
|
||||
func (s *iifTransactionDataset) getSplitDataItemValue(splitData *iifTransactionSplitData, columnName string) (string, bool) {
|
||||
if splitData == nil {
|
||||
return "", false
|
||||
}
|
||||
|
||||
index, exists := s.splitDataColumnIndexes[columnName]
|
||||
|
||||
if !exists || index < 0 || index >= len(splitData.dataItems) {
|
||||
return "", false
|
||||
}
|
||||
|
||||
return splitData.dataItems[index], true
|
||||
}
|
||||
Reference in New Issue
Block a user