/// <summary> /// Writes a transaction to the database. /// </summary> /// <param name="t">the transaction and its items</param> public static void LogTransaction(InternalTransactionPostModel t) { decimal total = t.items.Sum(i => decimal.Parse(i.price)); String command = String.Format("INSERT INTO Transactions (time, cc, total) VALUES (GETDATE(), '{0}', {1}); SELECT @@IDENTITY AS txid", t.cc, total); SqlDataReader reader = DbAccess.RunReader(command); reader.Read(); int txid = decimal.ToInt32((decimal)reader["txid"]); reader.Close(); for (int i = 0; i < t.items.Count; i++) { command = String.Format("INSERT INTO TransactionLineItems VALUES ({0}, {1}, '{2}', {3})", txid, i, t.items[i].description, t.items[i].price); DbAccess.RunCommand(command); } }
/// <summary> /// Logs one transaction that consists of one or more item. /// </summary> /// <param name="request">the transaction information</param> /// <returns>true on success</returns> public bool Post(InternalTransactionPostModel request) { Transaction.LogTransaction(request); return(true); }