예제 #1
0
func SavePayment(c db.MConn, p *Payment) (*Payment, error) {
	if p.Time == 0 {
		p.Time = time.Now().Unix()
	}
	err := c.QueryRow(
		`INSERT INTO payment (`+PaymentModel.FieldsInsert+`)
         VALUES (`+PaymentModel.Placeholders+`)
         RETURNING id`,
		p,
	).Scan(&p.Id)
	return p, err
}
예제 #2
0
func LoadWithdrawal(c db.MConn, id int64) *Withdrawal {
	var wth Withdrawal
	err := c.QueryRow(
		`SELECT `+WithdrawalModel.FieldsSimple+`
         FROM account_withdrawal
         WHERE id=?`,
		id,
	).Scan(&wth)
	if err != nil {
		panic(err)
	}
	return &wth
}
예제 #3
0
func LoadDepositForPayment(c db.MConn, paymentId int64) *Deposit {
	var dep Deposit
	err := c.QueryRow(
		`SELECT `+DepositModel.FieldsSimple+`
         FROM account_deposit
         WHERE payment_id=?`,
		paymentId,
	).Scan(&dep)
	if err != nil {
		panic(err)
	}
	return &dep
}
예제 #4
0
// Might throw an error if the deposit already exists.
func SaveDeposit(c db.MConn, dep *Deposit) (*Deposit, error) {
	if dep.Time == 0 {
		dep.Time = time.Now().Unix()
	}
	// Add to DB
	err := c.QueryRow(
		`INSERT INTO account_deposit (`+DepositModel.FieldsInsert+`)
         VALUES (`+DepositModel.Placeholders+`)
         RETURNING id`,
		dep,
	).Scan(&dep.Id)
	return dep, err
}
예제 #5
0
func SaveTransfer(c db.MConn, trans *Transfer) *Transfer {
	if trans.Time == 0 {
		trans.Time = time.Now().Unix()
	}
	err := c.QueryRow(
		`INSERT INTO account_transfer (`+TransferModel.FieldsInsert+`)
         VALUES (`+TransferModel.Placeholders+`)
         RETURNING id`,
		trans,
	).Scan(&trans.Id)
	if err != nil {
		panic(err)
	}
	return trans
}
예제 #6
0
func SaveWithdrawal(c db.MConn, wth *Withdrawal) *Withdrawal {
	if wth.Time == 0 {
		wth.Time = time.Now().Unix()
	}
	// Add to DB
	err := c.QueryRow(
		`INSERT INTO account_withdrawal (`+WithdrawalModel.FieldsInsert+`)
         VALUES (`+WithdrawalModel.Placeholders+`)
         RETURNING id`,
		wth,
	).Scan(&wth.Id)
	if err != nil {
		panic(err)
	}
	return wth
}