Website Summary Files Commits Branches @commit @diff @stats
path: root / Week07 / Exercise01 / Transaction.cpp
diff options
context:
space:
mode:
1 files changed, 56 insertions, 0 deletions
-rw-r--r--Week07/Exercise01/Transaction.cpp56
diff --git a/Week07/Exercise01/Transaction.cpp b/Week07/Exercise01/Transaction.cpp
new file mode 100644
index 0000000..8978c05
--- /dev/null
+++ b/Week07/Exercise01/Transaction.cpp
@@ -0,0 +1,56 @@
+#include "Transaction.h"
+#include <iostream>
+
+Transaction::Transaction(double sum, unsigned bankCard) {
+ this->clerkNumber = 0;
+ this->sum = sum;
+ this->bankCard = bankCard;
+ this->status = STATUS_PENDING;
+}
+
+Transaction::Transaction() : clerkNumber(0), sum(0), bankCard(0), status(0)
+{ }
+
+unsigned Transaction::GetClerkNumber() const {
+ return clerkNumber;
+}
+
+double Transaction::GetSum() const {
+ return sum;
+}
+
+unsigned Transaction::GetBankCard() const {
+ return bankCard;
+}
+
+unsigned Transaction::GetStatus() const {
+ return status;
+}
+
+String Transaction::GetStatusStr() const {
+ switch (status) {
+ case STATUS_PENDING: return "Pending";
+ case STATUS_ACCEPTED: return "Accepted";
+ case STATUS_REJECTED: return "Rejected";
+ }
+ return "";
+}
+
+void Transaction::SetStatus(unsigned clerk, unsigned status) {
+ this->clerkNumber = clerk;
+ this->status = status;
+}
+
+void Transaction::PrintTransactionInfo() const {
+ std::cout << clerkNumber << ' '
+ << bankCard << ' '
+ << sum << ' '
+ << GetStatusStr().GetStr() << std::endl;
+}
+
+void Transaction::Export(std::ofstream& exportFile) const {
+ exportFile << sum << ','
+ << bankCard << ','
+ << clerkNumber << ','
+ << status << std::endl;
+}