-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtransfer.cpp
More file actions
101 lines (91 loc) · 2.53 KB
/
Copy pathtransfer.cpp
File metadata and controls
101 lines (91 loc) · 2.53 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include "transfer.h"
#include "ui_transfer.h"
#include "mainpage.h"
#include "mainwindow.h"
#include "admin.h"
#include<QMessageBox>
#include <QDebug>
transfer::transfer(QWidget *parent,head user) :
QMainWindow(parent),
user(user),
ui(new Ui::transfer)
{
ui->setupUi(this);
}
transfer::~transfer()
{
delete ui;
}
void transfer::on_pushButton_main_clicked()
{
if(MainWindow::session=="user")
{
MainPage *mainPage = new MainPage(nullptr,user);
mainPage->show();
}
else
{
Admin *admin = new Admin();
admin->show();
}
this->hide();
}
void transfer::on_pushButton_clicked()
{
bool flag=false;
QString acc_no = ui->lineEdit->text();
int account =-1;
if(acc_no!="")
account = acc_no.toInt();
int amount = ui->lineEdit_2->text().toInt();
head temp =MainWindow::user_top;
do
{
if(temp->account==account)
{
flag=true;
break;
}
else
temp=temp->next;
}
while(temp!=0);
if(flag)
{
if(amount<=user->balance)
{
Transaction *last_transaction=user->transaction;
Transaction *reciever_last_transaction=temp->transaction;
if(last_transaction)
{
while(last_transaction->next!=0){
last_transaction=last_transaction->next;
}
}
Transaction *new_transaction=new Transaction();
Transaction *new_reciever_transaction=new Transaction();
new_transaction->amount=amount;
new_transaction->Date=ui->dateEdit->date().toString("dd.MM.yyyy");
new_transaction->type="Sent";
new_transaction->next=0;
new_transaction->recepient=ui->lineEdit->text();
last_transaction->next=new_transaction;
new_reciever_transaction->amount=amount;
new_reciever_transaction->Date=ui->dateEdit->date().toString("dd.MM.yyyy");
new_reciever_transaction->type="Recieved";
new_reciever_transaction->next=0;
reciever_last_transaction->next=new_reciever_transaction;
user->balance-=amount;
temp->balance+=amount;
QMessageBox::information(this,"Transaction succesfull","Money sent");
}
else
{
QMessageBox::warning(this,"Invalid amount","amount exceeds balance");
}
}
else
{
QMessageBox::warning(this,"Bad credentials","Invalid account no.");
}
}