/* * Primary developers: Hedin & Kevin */ #pragma once #include "Containers.h" #include using namespace std; class DatabaseLayer { public: virtual ~DatabaseLayer(void) {}; virtual vector GetPersonAll(void); virtual Person GetPerson(CString wantInits); virtual bool AddPerson(Person NewPerson); virtual bool UpdatePerson(Person ChangePerson); virtual bool DeletePerson(Person RemovePerson); virtual bool ReturnEquipment(CString barcode); virtual bool CheckoutEquipment(Person CheckPersID, Equipment CheckEquip, int Numdays) ; virtual bool EquipmentReservation(CString barcode, Person CheckPerson) ; virtual bool UpdateEquipment(Equipment CheckEquip); virtual bool AddEquipment(Equipment AddEquip); virtual vector GetEquipmentAll(void); virtual Equipment GetEquipment(CString wantBarcode); virtual bool DeleteEquipment(Equipment DelEquip); virtual vector Search(CString barcode, CString name, CString inits, bool available, bool reserved, bool deposited) = 0; virtual void checkReservations(CString barcode); virtual bool DeleteReservation(CString barcode, CString resid); protected: DatabaseLayer(void) {} //Avoid direct instantiation virtual void FillEquipmentVector(vector &buffer, CRecordset &rs); virtual CString GenerateQueryForLatestCheckouts(CString barcode) = 0; protected: CDatabase db; };