/[H6]/DatabaseLayer.cpp
ViewVC logotype

Contents of /DatabaseLayer.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9 - (show annotations) (download)
Wed Aug 30 21:57:57 2006 UTC (17 years, 8 months ago) by torben
File size: 4595 byte(s)
Finished (???) administration part - plus made a dummy offline version of the DatabaseLayer class.
1 #include "StdAfx.h"
2 #include ".\databaselayer.h"
3
4 DatabaseLayer::DatabaseLayer(void)
5 {
6 Person p1;
7 p1.id="0";
8 p1.inits="MaPe";
9 p1.isadmin = 0;
10 p1.name="Mads Pedersen";
11 persons.push_back(p1);
12
13 Person p2;
14 p2.id="1";
15 p2.inits = "thn";
16 p2.isadmin = 1;
17 p2.name = "Torben Nielsen";
18 p2.pass = "thn";
19 persons.push_back(p2);
20
21 Person p3;
22 p3.id = "2";
23 p3.inits = "FiKa";
24 p3.isadmin = 0;
25 p3.name = "Finn Karlsen";
26 persons.push_back(p3);
27
28 Equipment e1;
29 e1.barcode = "1234567890123";
30 e1.name = "1 ks. øl";
31 e1.description = "30 Stk. Hancock Høker";
32 e1.placement = "i kælderen";
33 e1.status = "Drukket";
34 equipments.push_back(e1);
35
36 }
37
38 vector<Person> DatabaseLayer::GetPersonAll(void)
39 {
40 return persons;
41 }
42
43 Person DatabaseLayer::GetPerson(CString wantInits)
44 {
45 for (int i=0; i<persons.size(); i++) {
46 if (persons[i].inits == wantInits)
47 return persons[i];
48 }
49 Person p;
50 return p;
51 }
52
53 Equipment DatabaseLayer::GetEquipment(CString wantBarcode)
54 {
55 for (int i=0; i<equipments.size(); i++) {
56 if (equipments[i].barcode == wantBarcode) {
57 return equipments[i];
58 }
59 }
60 }
61
62 bool DatabaseLayer::UpdatePerson(Person ChangePerson)
63 {
64 for (int i=0; i<persons.size(); i++) {
65 if (persons[i].inits == ChangePerson.inits) {
66 persons[i] = ChangePerson;
67 break;
68 }
69 }
70
71 return true;
72 }
73
74
75 bool DatabaseLayer::UpdateEquipment(Equipment ChangeEquipment)
76 {
77 for (int i=0; i<equipments.size(); i++) {
78 if (equipments[i].barcode == ChangeEquipment.barcode) {
79 equipments[i] = ChangeEquipment;
80 break;
81 }
82 }
83
84 return true;
85
86 }
87
88 bool DatabaseLayer::AddPerson(Person NewPerson)
89 {
90 persons.push_back(NewPerson);
91 return true;
92 }
93
94
95 vector<Equipment> DatabaseLayer::GetEquipmentAll()
96 {
97 return equipments;
98 }
99
100 bool DatabaseLayer::AddEquipment(Equipment e)
101 {
102 equipments.push_back(e);
103 return true;
104 }
105
106 bool DatabaseLayer::DeletePerson(Person RemovePerson)
107 {
108 //vector kan ikke slette fra midten, så de der ikke slettes kopieres til ny vector
109 //og gl.vector overskrivets
110
111 vector<Person> newvector;
112 for (int i = 0; i != persons.size(); i++) {
113 if ( persons[i].inits != RemovePerson.inits) {
114 newvector.push_back( persons[i] );
115 }
116 }
117 persons = newvector;
118 return true;
119 }
120
121 /*
122 DatabaseLayer::DatabaseLayer(void)
123 {
124 db.OpenEx("ODBC; Description=; DRIVER=SQL Server; SERVER=TK-Teacher; UID=GroupTwo; PWD=toog30");
125 db.ExecuteSQL("USE GroupTwo");
126 }
127
128 DatabaseLayer::~DatabaseLayer(void)
129 {
130 }
131
132 vector<Person> DatabaseLayer::GetPersonAll(void)
133 {
134 vector<Person> buffer;
135 CString id, inits, name, isadmin, pass;
136
137 CRecordset rs(&db);
138 rs.Open(AFX_DB_USE_DEFAULT_TYPE, "SELECT PersonID, Initialer, Navn, Admin, Pass FROM Person");
139 while(!rs.IsEOF())
140 {
141 rs.GetFieldValue((short)0,id);
142 rs.GetFieldValue(1,inits);
143 rs.GetFieldValue(2,name);
144 rs.GetFieldValue(3,isadmin);
145 rs.GetFieldValue(4,pass);
146
147 Person p;
148 p.id = id;
149 p.inits = inits;
150 p.name = name;
151 p.isadmin = (isadmin == 1);
152 p.pass = pass;
153
154 buffer.push_back(p);
155
156 rs.MoveNext();
157 }
158 rs.Close();
159 return buffer;
160 }
161
162 Person DatabaseLayer::GetPerson(CString wantInits)
163 {
164
165 CString id, inits, name, isadmin, pass;
166 CString SQL;
167
168 Person p;
169 //FIX SQL INJECTION
170 SQL = "SELECT PersonID, Initialer, Navn, Admin, Pass FROM Person WHERE (Initialer = '" + wantInits + "')";
171 CRecordset rs(&db);
172 rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL);
173
174 if(!rs.IsEOF() )
175 {
176 rs.GetFieldValue((short)0,id);
177 rs.GetFieldValue(1,inits);
178 rs.GetFieldValue(2,name);
179 rs.GetFieldValue(3,isadmin);
180 rs.GetFieldValue(4,pass);
181
182 p.id = id;
183 p.inits = inits;
184 p.name = name;
185 p.isadmin = (isadmin == "1");
186 p.pass = pass;
187 }
188 return p;
189 }
190
191 bool DatabaseLayer::AddPerson(Person NewPerson)
192 {
193 CString SQL;
194 SQL.Format("INSERT into Person(Initialer, Navn, Admin, Pass) VALUES('%s', '%s', '%d', '%s')",NewPerson.inits, NewPerson.name, NewPerson.isadmin, NewPerson.pass);
195 db.ExecuteSQL(SQL);
196 return true;
197 }
198
199 bool DatabaseLayer::UpdatePerson(Person ChangePerson)
200 {
201 CString SQL;
202 SQL.Format("UPDATE Person SET Initialer = '%s', Navn = '%s', Pass = '%s', Admin = '%d' WHERE PersonID = '%s'", ChangePerson.inits, ChangePerson.name, ChangePerson.pass, ChangePerson.isadmin, ChangePerson.id);
203 db.ExecuteSQL(SQL);
204 return true;
205 }
206
207 bool DatabaseLayer::DeletePerson(Person RemovePerson)
208 {
209 CString SQL;
210 SQL.Format("DELETE FROM Person WHERE PersonID = '%s'", RemovePerson.id);
211 db.ExecuteSQL(SQL);
212 return true;
213 }
214
215 */

  ViewVC Help
Powered by ViewVC 1.1.20