161 |
CheckEquip.placement.Replace("'","\""); |
CheckEquip.placement.Replace("'","\""); |
162 |
CheckEquip.status.Replace("'","\""); |
CheckEquip.status.Replace("'","\""); |
163 |
CheckEquip.barcode.Replace("'","\""); |
CheckEquip.barcode.Replace("'","\""); |
164 |
SQL.Format("UPDATE Udstyr SET Navn = '%s', Beskrivelse = '%s', Placering = '%s', Status = '%s' WHERE Stregkode = '%s'", CheckEquip.name, CheckEquip.description, CheckEquip.placement, CheckEquip.status, CheckEquip.barcode); |
SQL.Format("UPDATE Udstyr SET Navn = '%s', Beskrivelse = '%s', Placering = '%s' WHERE Stregkode = '%s'", CheckEquip.name, CheckEquip.description, CheckEquip.placement, CheckEquip.barcode); |
165 |
db.ExecuteSQL(SQL); |
db.ExecuteSQL(SQL); |
166 |
return true; |
return true; |
167 |
} |
} |
210 |
Equipment MicrosoftDBLayer::GetEquipment(CString wantBarcode) |
Equipment MicrosoftDBLayer::GetEquipment(CString wantBarcode) |
211 |
{ |
{ |
212 |
|
|
213 |
CString barcode,name,description,placement,status; |
CString barcode,name,description,placement,status,statusid; |
214 |
|
|
215 |
CString SQL; |
CString SQL; |
216 |
|
|
218 |
|
|
219 |
Equipment e; |
Equipment e; |
220 |
|
|
221 |
SQL.Format("SELECT Stregkode,Navn,Udstyr.Beskrivelse,Placering,Status.Beskrivelse FROM Udstyr INNER JOIN Status ON Udstyr.Status = Status.StatusID Where (Stregkode = '%s')", wantBarcode); |
SQL.Format("SELECT Stregkode,Navn,Udstyr.Beskrivelse,Placering,Status.Beskrivelse, Udstyr.Status FROM Udstyr INNER JOIN Status ON Udstyr.Status = Status.StatusID Where (Stregkode = '%s')", wantBarcode); |
222 |
CRecordset rs(&db); |
CRecordset rs(&db); |
223 |
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
224 |
if (!rs.IsEOF() ) |
if (!rs.IsEOF() ) |
228 |
rs.GetFieldValue(2,description); |
rs.GetFieldValue(2,description); |
229 |
rs.GetFieldValue(3,placement); |
rs.GetFieldValue(3,placement); |
230 |
rs.GetFieldValue(4,status); |
rs.GetFieldValue(4,status); |
231 |
|
rs.GetFieldValue(5,statusid); |
232 |
|
|
233 |
e.barcode = barcode; |
e.barcode = barcode; |
234 |
e.name = name; |
e.name = name; |
235 |
e.description = description; |
e.description = description; |
236 |
e.placement = placement; |
e.placement = placement; |
237 |
e.status = status; |
e.status = status; |
238 |
|
e.statusid = atoi( statusid ); |
239 |
|
|
240 |
|
rs.Close(); |
241 |
|
|
242 |
|
//fill Equipment::checkouts |
243 |
|
SQL = "SELECT TOP 10 Udlån.StartDato, Udlån.Afleveringsdato,Udlån.Antaldage, Person.Initialer\ |
244 |
|
FROM Udlån\ |
245 |
|
INNER JOIN Person ON Udlån.PersonID = Person.PersonID "; |
246 |
|
SQL += "WHERE Udlån.Stregkode = " + barcode + " ORDER BY STARTDATO DESC"; |
247 |
|
CRecordset rs(&db); |
248 |
|
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
249 |
|
if (rs.GetRecordCount()>0) { |
250 |
|
rs.MoveFirst(); |
251 |
|
while ( !rs.IsEOF() ) { |
252 |
|
Checkout check; |
253 |
|
rs.GetFieldValue((short)0, check.startdate); |
254 |
|
rs.GetFieldValue(1, check.enddate); |
255 |
|
rs.GetFieldValue(2, check.numdays); |
256 |
|
rs.GetFieldValue(3, check.inits); |
257 |
|
|
258 |
|
e.checkouts.push_back(check); |
259 |
|
rs.MoveNext(); |
260 |
|
} |
261 |
|
} |
262 |
|
rs.Close(); |
263 |
|
|
264 |
|
// fill Equipment::reservations |
265 |
|
SQL = "SELECT Resevation.ResevationID, Resevation.StartDato, Person.Initialer\ |
266 |
|
FROM Resevation\ |
267 |
|
INNER JOIN Person ON Resevation.PersonID = Person.PersonID "; |
268 |
|
SQL += "WHERE Resevation.Stregkode = " + barcode + " ORDER BY STARTDATO ASC"; |
269 |
|
|
270 |
|
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
271 |
|
if (rs.GetRecordCount()>0) { |
272 |
|
rs.MoveFirst(); |
273 |
|
while ( !rs.IsEOF() ) { |
274 |
|
Reservation res; |
275 |
|
rs.GetFieldValue((short)0, res.reservationID); |
276 |
|
rs.GetFieldValue(1, res.startdate); |
277 |
|
rs.GetFieldValue(2, res.inits); |
278 |
|
|
279 |
|
e.reservations.push_back(res); |
280 |
|
rs.MoveNext(); |
281 |
|
} |
282 |
|
} |
283 |
|
rs.Close(); |
284 |
} |
} |
285 |
rs.Close(); |
|
286 |
return e; |
return e; |
287 |
} |
} |
288 |
|
|
365 |
rs.Close(); |
rs.Close(); |
366 |
} |
} |
367 |
|
|
|
// now I have the equipment rows the user asked for, now I need some more checkout and |
|
|
// reservation data for each piece of equipment |
|
|
|
|
|
for (int i=0; i<buffer.size(); i++) { |
|
|
//fill Equipment::checkouts |
|
|
|
|
|
SQL = "SELECT TOP 10 Udlån.StartDato, Udlån.Afleveringsdato,Udlån.Antaldage, Person.Initialer\ |
|
|
FROM Udlån\ |
|
|
INNER JOIN Person ON Udlån.PersonID = Person.PersonID "; |
|
|
SQL += "WHERE Udlån.Stregkode = " + buffer[i].barcode + " ORDER BY STARTDATO DESC"; |
|
|
CRecordset rs(&db); |
|
|
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
|
|
if (rs.GetRecordCount()>0) { |
|
|
rs.MoveFirst(); |
|
|
while ( !rs.IsEOF() ) { |
|
|
Checkout check; |
|
|
rs.GetFieldValue((short)0, check.startdate); |
|
|
rs.GetFieldValue(1, check.enddate); |
|
|
rs.GetFieldValue(2, check.numdays); |
|
|
rs.GetFieldValue(3, check.inits); |
|
|
|
|
|
buffer[i].checkouts.push_back(check); |
|
|
rs.MoveNext(); |
|
|
} |
|
|
} |
|
|
rs.Close(); |
|
|
|
|
|
// fill Equipment::reservations |
|
|
SQL = "SELECT Resevation.ResevationID, Resevation.StartDato, Person.Initialer\ |
|
|
FROM Resevation\ |
|
|
INNER JOIN Person ON Resevation.PersonID = Person.PersonID "; |
|
|
SQL += "WHERE Resevation.Stregkode = " + buffer[i].barcode + " ORDER BY STARTDATO ASC"; |
|
|
|
|
|
rs.Open(AFX_DB_USE_DEFAULT_TYPE, SQL); |
|
|
if (rs.GetRecordCount()>0) { |
|
|
rs.MoveFirst(); |
|
|
while ( !rs.IsEOF() ) { |
|
|
Reservation res; |
|
|
rs.GetFieldValue((short)0, res.reservationID); |
|
|
rs.GetFieldValue(1, res.startdate); |
|
|
rs.GetFieldValue(2, res.inits); |
|
|
|
|
|
buffer[i].reservations.push_back(res); |
|
|
rs.MoveNext(); |
|
|
} |
|
|
} |
|
|
rs.Close(); |
|
|
} |
|
|
|
|
368 |
return buffer; |
return buffer; |
369 |
} |
} |
370 |
|
|