--- DatabaseLayer.h 2006/08/30 12:39:09 8 +++ DatabaseLayer.h 2007/10/22 13:00:14 60 @@ -1,3 +1,7 @@ +/* + * Primary developers: Hedin & Kevin + */ + #pragma once #include "Containers.h" @@ -7,17 +11,37 @@ class DatabaseLayer { -private: - CDatabase db; - public: - DatabaseLayer(void); - ~DatabaseLayer(void); + 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; + - vector GetPersonAll(void); - Person GetPerson(CString wantInits); + 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; - bool AddPerson(Person NewPerson); - bool UpdatePerson(Person ChangePerson); - bool DeletePerson(Person RemovePerson); };