Website Summary Files Commits Branches @commit @diff @stats
path: root / Week07 / Exercise01 / Transaction.cpp
blob: 8978c05c900f9cad62ce559074ace28eefb37b69 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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;
}