└── AssetManager ├── hmd.cpp ├── mrecord.cpp ├── phone.cpp ├── custodian.cpp ├── assetmanager.cpp ├── television.cpp ├── displaybytypemenu.cpp ├── assetmanager.h ├── television.h ├── hmd.h ├── displaybytypeinterface.h ├── findassetmenu.h ├── mrecord.h ├── addmenuinterface.h ├── computer.cpp ├── assetregister.h ├── custodian.h ├── findassetmenu.cpp ├── phone.h ├── computer.h ├── main.cpp ├── displaybytypeinterface.cpp ├── date.cpp ├── date.h ├── Asset.cpp ├── Asset.h ├── menuinterface.h ├── assetregister.cpp ├── addmenuinterface.cpp ├── menuinterface.cpp ├── AssetManager.layout └── AssetManager.depend /AssetManager/hmd.cpp: -------------------------------------------------------------------------------- 1 | #include "hmd.h" 2 | 3 | HMD::HMD() 4 | { 5 | _effectiveLifespan = 2.5; 6 | } 7 | 8 | HMD::~HMD() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/mrecord.cpp: -------------------------------------------------------------------------------- 1 | #include "mrecord.h" 2 | 3 | MRecord::MRecord() 4 | { 5 | //ctor 6 | } 7 | 8 | MRecord::~MRecord() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/phone.cpp: -------------------------------------------------------------------------------- 1 | #include "phone.h" 2 | 3 | Phone::Phone() 4 | { 5 | _effectiveLifespan = 2; 6 | } 7 | 8 | Phone::~Phone() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/custodian.cpp: -------------------------------------------------------------------------------- 1 | #include "custodian.h" 2 | 3 | Custodian::Custodian() 4 | { 5 | //ctor 6 | } 7 | 8 | Custodian::~Custodian() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/assetmanager.cpp: -------------------------------------------------------------------------------- 1 | #include "assetmanager.h" 2 | 3 | AssetManager::AssetManager() 4 | { 5 | //ctor 6 | } 7 | 8 | AssetManager::~AssetManager() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/television.cpp: -------------------------------------------------------------------------------- 1 | #include "television.h" 2 | 3 | Television::Television() 4 | { 5 | _effectiveLifespan = 6; 6 | } 7 | 8 | Television::~Television() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/displaybytypemenu.cpp: -------------------------------------------------------------------------------- 1 | #include "displaybytypemenu.h" 2 | 3 | DisplayByTypeMenu::DisplayByTypeMenu() 4 | { 5 | //ctor 6 | } 7 | 8 | DisplayByTypeMenu::~DisplayByTypeMenu() 9 | { 10 | //dtor 11 | } 12 | -------------------------------------------------------------------------------- /AssetManager/assetmanager.h: -------------------------------------------------------------------------------- 1 | #ifndef ASSETMANAGER_H 2 | #define ASSETMANAGER_H 3 | 4 | 5 | class AssetManager 6 | { 7 | public: 8 | AssetManager(); 9 | virtual ~AssetManager(); 10 | 11 | protected: 12 | 13 | private: 14 | }; 15 | 16 | #endif // ASSETMANAGER_H 17 | -------------------------------------------------------------------------------- /AssetManager/television.h: -------------------------------------------------------------------------------- 1 | #ifndef TELEVISION_H 2 | #define TELEVISION_H 3 | 4 | #include "Asset.h" 5 | 6 | 7 | class Television : public Asset 8 | { 9 | public: 10 | Television(); 11 | virtual ~Television(); 12 | 13 | std::string location() { return _location; } 14 | 15 | protected: 16 | 17 | private: 18 | std::string _location; 19 | }; 20 | 21 | #endif // TELEVISION_H 22 | -------------------------------------------------------------------------------- /AssetManager/hmd.h: -------------------------------------------------------------------------------- 1 | #ifndef HMD_H 2 | #define HMD_H 3 | 4 | #include "Asset.h" 5 | #include "custodian.h" 6 | 7 | 8 | class HMD : public Asset 9 | { 10 | public: 11 | HMD(); 12 | virtual ~HMD(); 13 | 14 | Custodian Getcustodian() { return _custodian; } 15 | void Setcustodian(Custodian val) { _custodian = val; } 16 | 17 | protected: 18 | 19 | private: 20 | Custodian _custodian; 21 | }; 22 | 23 | #endif // HMD_H 24 | -------------------------------------------------------------------------------- /AssetManager/displaybytypeinterface.h: -------------------------------------------------------------------------------- 1 | #ifndef DISPLAYBYTYPEINTERFACE_H 2 | #define DISPLAYBYTYPEINTERFACE_H 3 | 4 | #include "menuinterface.h" 5 | 6 | 7 | class DisplayByTypeInterface : public MenuInterface 8 | { 9 | public: 10 | DisplayByTypeInterface(std::ostream &display, std::istream &input); 11 | virtual ~DisplayByTypeInterface(); 12 | void displayMainMenu() const; 13 | bool processSelection(char selection); 14 | 15 | protected: 16 | 17 | private: 18 | }; 19 | 20 | #endif // DISPLAYBYTYPEINTERFACE_H 21 | -------------------------------------------------------------------------------- /AssetManager/findassetmenu.h: -------------------------------------------------------------------------------- 1 | #ifndef FINDASSETMENU_H 2 | #define FINDASSETMENU_H 3 | 4 | #include "menuinterface.h" 5 | 6 | 7 | class FindAssetMenu : public MenuInterface 8 | { 9 | public: 10 | FindAssetMenu(std::ostream &display, std::istream &input); 11 | virtual ~FindAssetMenu(); 12 | void displayMainMenu() const; 13 | bool processSelection(char selection); 14 | 15 | protected: 16 | 17 | private: 18 | void searchById(); 19 | void searchBySerial(); 20 | }; 21 | 22 | #endif // FINDASSETMENU_H 23 | -------------------------------------------------------------------------------- /AssetManager/mrecord.h: -------------------------------------------------------------------------------- 1 | #ifndef MRECORD_H 2 | #define MRECORD_H 3 | #include 4 | #include "date.h" 5 | 6 | class MRecord 7 | { 8 | public: 9 | MRecord(); 10 | virtual ~MRecord(); 11 | 12 | std::string Getname() { return _name; } 13 | void Setname(std::string val) { _name = val; } 14 | Date Gettimestamp() { return _timestamp; } 15 | void Settimestamp(Date val) { _timestamp = val; } 16 | 17 | protected: 18 | 19 | private: 20 | std::string _name; 21 | Date _timestamp; 22 | }; 23 | 24 | #endif // MRECORD_H 25 | -------------------------------------------------------------------------------- /AssetManager/addmenuinterface.h: -------------------------------------------------------------------------------- 1 | #ifndef ADDMENUINTERFACE_H 2 | #define ADDMENUINTERFACE_H 3 | 4 | #include "menuinterface.h" 5 | #include 6 | #include "Asset.h" 7 | #include 8 | 9 | 10 | class AddMenuInterface : public MenuInterface 11 | { 12 | public: 13 | AddMenuInterface(std::ostream &display, std::istream &input); 14 | void displayMainMenu() const; 15 | bool processSelection(char selection); 16 | private: 17 | bool addComputer(); 18 | void addPhone(); 19 | void addTele(); 20 | void setAssetInfo(std::shared_ptr asset); 21 | }; 22 | 23 | #endif // ADDMENUINTERFACE_H 24 | -------------------------------------------------------------------------------- /AssetManager/computer.cpp: -------------------------------------------------------------------------------- 1 | #include "computer.h" 2 | 3 | Computer::Computer(const std::string &id, const std::string &brand, const std::string &model, 4 | double purchasePrice, const Date &purchaseDate, const std::string &serial, 5 | const std::string &operatingSystem) 6 | : Asset{id, brand, model, purchasePrice, purchaseDate} 7 | { 8 | _effectiveLifespan = 3; 9 | _operatingSystem = operatingSystem; 10 | _serial = serial; 11 | } 12 | 13 | std::string Computer::operatingSystem() const{ 14 | return _operatingSystem; 15 | } 16 | std::string Computer::networkIdentifier() const{ 17 | return _networkIdentifier; 18 | } 19 | Custodian Computer::custodian() { 20 | return _custodian; 21 | } 22 | 23 | 24 | Computer::Computer(){ 25 | } 26 | 27 | 28 | -------------------------------------------------------------------------------- /AssetManager/assetregister.h: -------------------------------------------------------------------------------- 1 | #ifndef ASSETREGISTER_H 2 | #define ASSETREGISTER_H 3 | 4 | #include 5 | #include "Asset.h" 6 | #include 7 | #include 8 | 9 | 10 | 11 | 12 | class AssetRegister 13 | { 14 | public: 15 | virtual ~AssetRegister(); 16 | static AssetRegister* instance(); 17 | std::shared_ptr retrieveAsset(const std::string &assetId); 18 | bool storeAsset(std::shared_ptr asset); 19 | void displayAll(); 20 | void displayComputers(); 21 | void displayPhones(); 22 | void displayTeles(); 23 | void remove(std::string id); 24 | 25 | protected: 26 | 27 | private: 28 | static AssetRegister* inst; 29 | AssetRegister(); 30 | std::map> _assets; 31 | }; 32 | 33 | #endif // ASSETREGISTER_H 34 | -------------------------------------------------------------------------------- /AssetManager/custodian.h: -------------------------------------------------------------------------------- 1 | #ifndef CUSTODIAN_H 2 | #define CUSTODIAN_H 3 | 4 | #include 5 | #include "date.h" 6 | class Custodian 7 | { 8 | public: 9 | Custodian(); 10 | virtual ~Custodian(); 11 | 12 | std::string Getname() { return _name; } 13 | void Setname(std::string val) { _name = val; } 14 | std::string Getdepartement() { return _departement; } 15 | void Setdepartement(std::string val) { _departement = val; } 16 | std::string GetphoneNumber() { return _phoneNumber; } 17 | void SetphoneNumber(std::string val) { _phoneNumber = val; } 18 | Date GetempStartDate() { return _empStartDate; } 19 | void SetempStartDate(Date val) { _empStartDate = val; } 20 | 21 | protected: 22 | 23 | private: 24 | std::string _name; 25 | std::string _departement; 26 | std::string _phoneNumber; 27 | Date _empStartDate; 28 | }; 29 | 30 | #endif // CUSTODIAN_H 31 | -------------------------------------------------------------------------------- /AssetManager/findassetmenu.cpp: -------------------------------------------------------------------------------- 1 | #include "findassetmenu.h" 2 | 3 | FindAssetMenu::FindAssetMenu(std::ostream &display, std::istream &input):MenuInterface(display,input) 4 | { 5 | //ctor 6 | } 7 | 8 | FindAssetMenu::~FindAssetMenu() 9 | { 10 | //dtor 11 | } 12 | 13 | 14 | void FindAssetMenu::displayMainMenu() const 15 | { 16 | _display << "Find asset" << std::endl; 17 | _display << " search by (a)sset id" << std::endl; 18 | _display << " search by (s)erial" << std::endl; 19 | _display << " (b)ack to main menu" << std::endl; 20 | } 21 | 22 | bool FindAssetMenu::processSelection(char selection) 23 | { 24 | switch (selection) { 25 | case 'a': 26 | searchById(); 27 | break; 28 | case 's': 29 | searchBySerial(); 30 | break; 31 | case 'b': 32 | return false; 33 | break; 34 | } 35 | return true; 36 | } 37 | 38 | void FindAssetMenu::searchById(){ 39 | 40 | } 41 | void FindAssetMenu::searchBySerial(){ 42 | 43 | } 44 | -------------------------------------------------------------------------------- /AssetManager/phone.h: -------------------------------------------------------------------------------- 1 | #include "custodian.h" 2 | #include "Asset.h" 3 | #ifndef PHONE_H 4 | #define PHONE_H 5 | 6 | 7 | class Phone : public Asset 8 | { 9 | public: 10 | Phone(); 11 | virtual ~Phone(); 12 | 13 | std::string GetoperatingSystem() { return _operatingSystem; } 14 | void SetoperatingSystem(std::string val) { _operatingSystem = val; } 15 | std::string GetbillingIdentifier() { return _billingIdentifier; } 16 | void SetbillingIdentifier(std::string val) { _billingIdentifier = val; } 17 | std::string GetphoneNumber() { return _phoneNumber; } 18 | void SetphoneNumber(std::string val) { _phoneNumber = val; } 19 | Custodian Getcustodian() { return _custodian; } 20 | void Setcustodian(Custodian val) { _custodian = val; } 21 | 22 | protected: 23 | 24 | private: 25 | std::string _operatingSystem; 26 | std::string _billingIdentifier; 27 | std::string _phoneNumber; 28 | Custodian _custodian; 29 | }; 30 | 31 | #endif // PHONE_H 32 | -------------------------------------------------------------------------------- /AssetManager/computer.h: -------------------------------------------------------------------------------- 1 | #ifndef COMPUTER_H 2 | #define COMPUTER_H 3 | #include "asset.h" 4 | #include "custodian.h" 5 | #include "computer.h" 6 | 7 | /** 8 | * @brief The Computer class represents a computer in the asset register 9 | */ 10 | class Computer : public Asset 11 | { 12 | public: 13 | Computer(const std::string &id, const std::string &brand, const std::string &model, 14 | double purchasePrice, const Date &purchaseDate, const std::string &serial, 15 | const std::string &operatingSystem); 16 | Computer(); 17 | 18 | 19 | std::string operatingSystem() const; 20 | std::string networkIdentifier() const; 21 | Custodian custodian(); 22 | 23 | void setOperatingSystem(std::string operating){ 24 | _operatingSystem = operating; 25 | } 26 | 27 | void setNetworkIdentifier(std::string identifier){ 28 | _networkIdentifier = identifier; 29 | } 30 | void setCustodian(Custodian cus){ 31 | _custodian = cus; 32 | } 33 | 34 | private : 35 | std::string _operatingSystem; 36 | std::string _networkIdentifier; 37 | Custodian _custodian; 38 | 39 | }; 40 | 41 | #endif // COMPUTER_H 42 | -------------------------------------------------------------------------------- /AssetManager/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "menuinterface.h" 3 | #include 4 | #include "assetregister.h" 5 | #include "computer.h" 6 | 7 | /** 8 | * @brief main simple main function runs the MenuInterface until quit. 9 | * @return 10 | */ 11 | int main() 12 | { 13 | AssetRegister *ass = AssetRegister::instance(); 14 | ass->storeAsset(std::make_shared("comp003", "Dell", "Inspiron 13 5378", 1100, Date{10,Date::July,2017}, "51NC167", "Windows 10 Enterprise")); 15 | ass->storeAsset(std::make_shared("comp0031", "Dell", "Inspiron 13 5378", 1100, Date{10,Date::July,2017}, "51NC167", "Windows 10 Enterprise")); 16 | ass->storeAsset(std::make_shared("comp00311", "Dell", "Inspiron 13 5378", 1100, Date{10,Date::July,2017}, "51NC167", "Windows 10 Enterprise")); 17 | 18 | MenuInterface m{std::cout, std::cin}; 19 | m.displayMainMenu(); 20 | while (m.processSelection(m.getCharacterInput())) { 21 | m.displayMainMenu(); 22 | } 23 | 24 | /* 25 | std::shared_ptr val = std::shared_ptr(new int(42)); 26 | std::cout << *(val) << std::endl ; 27 | */ 28 | return 0; 29 | } 30 | 31 | -------------------------------------------------------------------------------- /AssetManager/displaybytypeinterface.cpp: -------------------------------------------------------------------------------- 1 | #include "displaybytypeinterface.h" 2 | #include "assetregister.h" 3 | 4 | DisplayByTypeInterface::DisplayByTypeInterface(std::ostream &display, std::istream &input):MenuInterface(display,input) 5 | { 6 | //ctor 7 | } 8 | 9 | DisplayByTypeInterface::~DisplayByTypeInterface() 10 | { 11 | //dtor 12 | } 13 | 14 | void DisplayByTypeInterface::displayMainMenu() const 15 | { 16 | _display << "List assets by type" << std::endl; 17 | _display << " list (a)ll assets" << std::endl; 18 | _display << " list (c)omputers" << std::endl; 19 | _display << " list (p)hones" << std::endl; 20 | _display << " list (t)elevisions" << std::endl; 21 | _display << " (b)ack to main menu" << std::endl; 22 | } 23 | 24 | bool DisplayByTypeInterface::processSelection(char selection) 25 | { 26 | AssetRegister *regist = AssetRegister::instance(); 27 | switch (selection) { 28 | case 'a': 29 | regist->displayAll(); 30 | case 'c': 31 | regist->displayComputers(); 32 | break; 33 | case 'p': 34 | regist->displayPhones(); 35 | break; 36 | case 't': 37 | regist->displayTeles(); 38 | break; 39 | case 'b': 40 | return false; 41 | break; 42 | } 43 | return true; 44 | } 45 | -------------------------------------------------------------------------------- /AssetManager/date.cpp: -------------------------------------------------------------------------------- 1 | #include "date.h" 2 | #include 3 | #include 4 | #include 5 | 6 | Date::Date() : _day{0}, _year{0} 7 | { 8 | } 9 | 10 | Date::Date(int day, Date::Month month, int year) : _year{year}, _month{month}, _day{day} 11 | { 12 | } 13 | 14 | std::string Date::format() const { 15 | std::stringstream date; 16 | date << _day << '/' << _month << '/' << _year; 17 | return date.str(); 18 | } 19 | 20 | bool Date::valid() const { 21 | if (_day != 0 && _year != 0) { 22 | tm thisTime = *this; 23 | if(time_t(-1) != mktime(&thisTime) && thisTime.tm_mday == _day && thisTime.tm_mon == _month 24 | && thisTime.tm_year == _year - 1900) { 25 | return true; 26 | } 27 | } 28 | return false; 29 | } 30 | 31 | int Date::differenceInDays(const Date &other) const { 32 | if (!this->valid() || !other.valid()) { 33 | return -1; 34 | } 35 | tm thisTime = *this; 36 | tm otherTime = other; 37 | // Convert from a struct tm to a time_t to allow calculation. 38 | time_t tTime = mktime(&thisTime); 39 | time_t oTime = mktime(&otherTime); 40 | double diffInSeconds = difftime(tTime, oTime); 41 | // Convert from seconds to days. 42 | return std::abs((int)(diffInSeconds / 86400)); 43 | } 44 | 45 | Date::operator tm() const { 46 | tm time; 47 | time.tm_hour = 0; 48 | time.tm_min = 0; 49 | time.tm_sec = 0; 50 | time.tm_mday = _day; 51 | time.tm_mon = _month; 52 | time.tm_year = _year - 1900; 53 | return time; 54 | } 55 | -------------------------------------------------------------------------------- /AssetManager/date.h: -------------------------------------------------------------------------------- 1 | #ifndef DATE_H 2 | #define DATE_H 3 | #include 4 | 5 | /** 6 | * @brief The Date class represents a calendar date, in Australian date format (day/month/year). 7 | */ 8 | class Date 9 | { 10 | public: 11 | enum Month { January = 0, February = 1, March = 2, April = 3, May = 4, June = 5, July = 6, 12 | August = 7, September = 8, October = 9, November = 10, December = 11 }; 13 | /** 14 | * @brief Date construct a blank (invalid) date object. 15 | */ 16 | Date(); 17 | 18 | /** 19 | * @brief Date construct a date with the given details. Note: no validation takes place. 20 | * @param day the day of the month. 21 | * @param month the month. 22 | * @param year the full year e.g. 2016 23 | */ 24 | Date(int day, Month month, int year); 25 | 26 | /** 27 | * @brief format create a string representation of the date. 28 | * @return the string representing this date. 29 | */ 30 | std::string format() const; 31 | 32 | /** 33 | * @brief valid tests to see if this date has a valid value. 34 | * @return true if the date is valid. 35 | */ 36 | bool valid() const; 37 | 38 | /** 39 | * @brief differenceInDays calculate the number between this date and another date. 40 | * @param other the date to compare 41 | * @return the absolute number of days between this date and other. -1 on error. 42 | */ 43 | int differenceInDays(const Date &other) const; 44 | 45 | /** 46 | * @brief operator tm convert to a struct tm. 47 | */ 48 | operator tm() const; 49 | 50 | private: 51 | int _year; /**< the year e.g. 2017 */ 52 | Month _month; /** the month */ 53 | int _day; /**< the day of month e.g. 31 */ 54 | }; 55 | 56 | #endif // DATE_H 57 | -------------------------------------------------------------------------------- /AssetManager/Asset.cpp: -------------------------------------------------------------------------------- 1 | #include "asset.h" 2 | 3 | const std::string &Asset::id() const 4 | { 5 | return _id; 6 | } 7 | 8 | const Date &Asset::purchaseDate() const 9 | { 10 | return _purchaseDate; 11 | } 12 | const double &Asset::purchasePrice() const 13 | { 14 | return _purchasePrice; 15 | } 16 | const std::string &Asset::brand() const 17 | { 18 | return _brand; 19 | } 20 | const std::string &Asset::model() const 21 | { 22 | return _model; 23 | } 24 | 25 | Date Asset::disposalDate(){ 26 | return _disposalDate; 27 | } 28 | std::string Asset::serialNumber() const { 29 | return _serial; 30 | } 31 | 32 | // TODO: finish the implementation of the Asset constructor. 33 | Asset::Asset(const std::string &id, const std::string &brand, const std::string &model, 34 | double purchasePrice, Date purchaseDate) : _id{id} 35 | { 36 | _id = id; 37 | _brand = brand; 38 | _model = model; 39 | _purchasePrice = purchasePrice; 40 | _purchaseDate = purchaseDate; 41 | } 42 | 43 | // TODO: finish the implementation of the Asset constructor. 44 | Asset::Asset() 45 | { 46 | } 47 | 48 | double Asset:deprecatedValue(){ 49 | return ((_purchasePrice*heldDays()))/365*(1/_effectiveLifespan); 50 | } 51 | 52 | int Asset:heldDays(){ 53 | // todo calculate days 54 | return 5; 55 | } 56 | 57 | 58 | 59 | 60 | void Asset::display(){ 61 | std::cout << "Asset Id :" << _id << std::endl; 62 | std::cout << "Brand :" << _brand << std::endl; 63 | std::cout << "Model :" << _model << std::endl; 64 | std::cout << "Purchase Price :" << _purchasePrice << std::endl; 65 | std::cout << "Purchase Date :" << _purchaseDate << std::endl; 66 | std::cout << "Depreciated Value : " << deprecatedValue() << std::endl; 67 | std::cout << "serial number : " << _serial << std::endl; 68 | } 69 | -------------------------------------------------------------------------------- /AssetManager/Asset.h: -------------------------------------------------------------------------------- 1 | #ifndef ASSET_H 2 | #define ASSET_H 3 | #include 4 | #include "date.h" 5 | 6 | /** 7 | * @brief The Asset class the abstract base class for an asset in the asset register. 8 | */ 9 | class Asset 10 | { 11 | public: 12 | 13 | Asset(); 14 | virtual ~Asset() {} 15 | /** 16 | * @brief id retrieve the unique identifier for this asset. 17 | * @return the unique identifier 18 | */ 19 | const std::string &id() const; 20 | /** 21 | * @brief purchaseDate 22 | * @return the date on which this asset was purchased. 23 | */ 24 | const Date &purchaseDate() const; 25 | 26 | Date disposalDate(); 27 | std::string serialNumber() const; 28 | const std::string &brand() const; 29 | const std::string &model() const; 30 | const double &purchasePrice() const; 31 | Date purchasePrice(); 32 | double deprecatedValue(); 33 | void display(); 34 | int heldDays(); 35 | 36 | // setter 37 | void setId(std::string id){_id=id;} 38 | void setPurchaseDate(Date purchaseDate){_purchaseDate = purchaseDate;} 39 | void setDisposalDate(Date disposalDate){_disposalDate = disposalDate;} 40 | void setBrand(std::string brand){_brand = brand;} 41 | void setModel(std::string model){_model = model;} 42 | void setPurchasePrice(double purchasePrice){_purchasePrice = purchasePrice;} 43 | void setserial(std::string serial){_serial = serial;} 44 | 45 | protected: 46 | std::string _id; /**< a unique identifier for the asset */ 47 | Date _purchaseDate;/**< the date on which the asset was purchased */ 48 | Date _disposalDate; 49 | std::string _brand; 50 | std::string _model; 51 | double _purchasePrice; 52 | std::string _serial; 53 | Asset(const std::string &id, const std::string &brand, const std::string &model, 54 | double purchasePrice, Date purchaseDate); 55 | 56 | private: 57 | 58 | 59 | 60 | protected: 61 | double _effectiveLifespan = 1; 62 | }; 63 | 64 | #endif // ASSET_H 65 | -------------------------------------------------------------------------------- /AssetManager/menuinterface.h: -------------------------------------------------------------------------------- 1 | #ifndef MENUITERFACE_H 2 | #define MENUITERFACE_H 3 | #include 4 | #include "date.h" 5 | 6 | /** 7 | * @brief The MenuInterface class encapsulates all interaction with the asset management system. 8 | */ 9 | class MenuInterface 10 | { 11 | public: 12 | MenuInterface(std::ostream &display, std::istream &input); 13 | /** 14 | * @brief displayMainMenu write the main menu to the display device. 15 | */ 16 | void displayMainMenu() const; 17 | /** 18 | * @brief getCharacterInput get a single character input from the input device 19 | * and clear the buffer till the next newline character. 20 | * @return the character input. 21 | */ 22 | char getCharacterInput() const; 23 | /** 24 | * @brief processSelection process the selection for the menu. 25 | * @param selection the single character selection. 26 | * @return true to continue the program, false to quit. 27 | */ 28 | bool processSelection(char selection); 29 | 30 | std::string getStringInput(std::string& qst) const; 31 | double getDoubleInput(std::string& qst); 32 | Date getDateInput(std::string& qst); 33 | 34 | protected: 35 | std::ostream &_display; /**< the stream to pass all display output to */ 36 | std::istream &_input; /**< the stream to read all input from */ 37 | 38 | /** 39 | * @brief addAsset display and process the add asset task. 40 | */ 41 | void addAsset(); 42 | 43 | /** 44 | * @brief disposeAsset display and process the dispose asset task. 45 | */ 46 | void disposeAsset(); 47 | 48 | /** 49 | * @brief updateAsset display and process the update asset custodian or location task. 50 | */ 51 | void updateAsset(); 52 | 53 | /** 54 | * @brief addMaintenance display and process the add asset maintenance record task. 55 | */ 56 | void addMaintenance(); 57 | 58 | /** 59 | * @brief listAssetsByType display and process the list assets by type task. 60 | */ 61 | void listAssetsByType(); 62 | 63 | /** 64 | * @brief listAssetsByCustodian display and process the list assets by custodian task. 65 | */ 66 | void listAssetsByCustodian(); 67 | 68 | /** 69 | * @brief findAsset display and process the find asset task. 70 | */ 71 | void findAsset(); 72 | 73 | }; 74 | 75 | #endif // MENUITERFACE_H 76 | -------------------------------------------------------------------------------- /AssetManager/assetregister.cpp: -------------------------------------------------------------------------------- 1 | #include "assetregister.h" 2 | #include 3 | #include "Asset.h" 4 | #include 5 | #include "computer.h" 6 | 7 | 8 | AssetRegister* AssetRegister::inst = 0; 9 | 10 | std::shared_ptr AssetRegister::retrieveAsset(const std::string &assetId) 11 | { 12 | auto assetIt = _assets.find(assetId); 13 | if (assetIt != _assets.end()) { 14 | return assetIt->second; 15 | } 16 | return nullptr; 17 | } 18 | 19 | 20 | bool AssetRegister::storeAsset(std::shared_ptr asset) 21 | { 22 | if (!_assets.count(asset->id())) { 23 | _assets[asset->id()] = std::shared_ptr{asset}; 24 | return true; 25 | } 26 | return false; 27 | } 28 | 29 | AssetRegister::~AssetRegister(){ 30 | } 31 | AssetRegister::AssetRegister() 32 | { 33 | 34 | } 35 | 36 | 37 | 38 | AssetRegister* AssetRegister::instance() 39 | { 40 | if(inst == 0) 41 | { 42 | inst = new AssetRegister(); 43 | } 44 | return inst; 45 | } 46 | 47 | void AssetRegister::displayAll(){ 48 | for(std::map>::iterator it = _assets.begin(); it != _assets.end(); ++it) { 49 | std::shared_ptr ptr = (it->second); 50 | Asset *asset = ptr.get(); 51 | asset->display(); 52 | } 53 | } 54 | 55 | 56 | void AssetRegister::displayComputers(){ 57 | for(std::map>::iterator it = _assets.begin(); it != _assets.end(); ++it) { 58 | std::shared_ptr ptr = (it->second); 59 | Asset *asset = ptr.get(); 60 | if(Computer *c = dynamic_cast(asset)){ 61 | c->display(); 62 | } 63 | } 64 | 65 | } 66 | 67 | void AssetRegister::displayPhones(){ 68 | for(std::map>::iterator it = _assets.begin(); it != _assets.end(); ++it) { 69 | std::shared_ptr ptr = (it->second); 70 | Asset *asset = ptr.get(); 71 | if(Phone *c = dynamic_cast(asset)){ 72 | c->display(); 73 | } 74 | } 75 | } 76 | void AssetRegister::displayTeles(){ 77 | for(std::map>::iterator it = _assets.begin(); it != _assets.end(); ++it) { 78 | std::shared_ptr ptr = (it->second); 79 | Asset *asset = ptr.get(); 80 | if(Television *c = dynamic_cast(asset)){ 81 | c->display(); 82 | } 83 | } 84 | } 85 | 86 | 87 | void AssetRegister::remove(std::string id){ 88 | auto assetIt = _assets.find(id); 89 | displayAsset(*(assetIt->second)); 90 | _assets.erase(assetIt); 91 | } 92 | -------------------------------------------------------------------------------- /AssetManager/addmenuinterface.cpp: -------------------------------------------------------------------------------- 1 | #include "addmenuinterface.h" 2 | #include 3 | #include "computer.h" 4 | #include "assetregister.h" 5 | AddMenuInterface::AddMenuInterface(std::ostream &display, std::istream &input):MenuInterface(display,input) 6 | { 7 | 8 | } 9 | 10 | void AddMenuInterface::displayMainMenu() const 11 | { 12 | _display << "Add an asset" << std::endl; 13 | _display << " add a (c)omputer" << std::endl; 14 | _display << " add a (p)hone" << std::endl; 15 | _display << " add a (t)elevision" << std::endl; 16 | _display << " (b)ack to main menu" << std::endl; 17 | } 18 | 19 | bool AddMenuInterface::processSelection(char selection) 20 | { 21 | switch (selection) { 22 | case 'c': 23 | return addComputer(); 24 | case 'p': 25 | addPhone(); 26 | break; 27 | case 't': 28 | addTele(); 29 | break; 30 | case 'b': 31 | return false; 32 | break; 33 | } 34 | return true; 35 | } 36 | 37 | bool AddMenuInterface::addComputer(){ 38 | 39 | AssetRegister *regist = AssetRegister::instance(); 40 | 41 | Computer computer = Computer(); 42 | std::shared_ptr asset = std::shared_ptr(&computer); 43 | 44 | std::string qst = "enter Id : "; 45 | computer.setId(getStringInput(qst)); 46 | 47 | qst = "enter Brand : "; 48 | computer.setBrand(getStringInput(qst)); 49 | 50 | qst = "enter model : "; 51 | computer.setModel(getStringInput(qst)); 52 | 53 | qst = "enter serial number : "; 54 | computer.setserial(getStringInput(qst)); 55 | 56 | qst = "enter Purchase price : "; 57 | computer.setPurchasePrice(getDoubleInput(qst)); 58 | 59 | qst = "enter Purchase date : "; 60 | computer.setPurchaseDate(getDateInput(qst)); 61 | 62 | qst = "enter operating system : "; 63 | computer.setOperatingSystem(getStringInput(qst)); 64 | 65 | qst = "enter network identifier : "; 66 | computer.setNetworkIdentifier(getStringInput(qst)); 67 | 68 | 69 | return regist->storeAsset(asset); 70 | 71 | } 72 | void AddMenuInterface::addPhone(){ 73 | 74 | } 75 | void AddMenuInterface::addTele(){ 76 | 77 | } 78 | 79 | void AddMenuInterface::setAssetInfo(std::shared_ptr asset){ 80 | std::string qst = "enter Id : "; 81 | asset->setId(getStringInput(qst)); 82 | 83 | qst = "enter Brand : "; 84 | asset->setBrand(getStringInput(qst)); 85 | 86 | qst = "enter model : "; 87 | asset->setModel(getStringInput(qst)); 88 | 89 | qst = "enter serial number : "; 90 | asset->setserial(getStringInput(qst)); 91 | 92 | qst = "enter Purchase price : "; 93 | asset->setPurchasePrice(getDoubleInput(qst)); 94 | 95 | qst = "enter Purchase date : "; 96 | asset->setPurchaseDate(getDateInput(qst)); 97 | 98 | } 99 | 100 | 101 | -------------------------------------------------------------------------------- /AssetManager/menuinterface.cpp: -------------------------------------------------------------------------------- 1 | #include "menuinterface.h" 2 | #include "assetregister.h" 3 | #include 4 | #include "addmenuinterface.h" 5 | #include "displaybytypeinterface.h" 6 | #include "findassetmenu.h" 7 | 8 | MenuInterface::MenuInterface(std::ostream &display, std::istream &input) : _display{display}, 9 | _input{input} 10 | { 11 | } 12 | 13 | void MenuInterface::displayMainMenu() const 14 | { 15 | _display << "What would you like to do?" << std::endl; 16 | _display << " (a)dd an asset" << std::endl; 17 | _display << " (d)ispose an asset" << std::endl; 18 | _display << " (l)ist assets by type" << std::endl; 19 | _display << " List assets by (c)ustodian" << std::endl; 20 | _display << " (f)ind asset" << std::endl; 21 | _display << " (q)uit" << std::endl; 22 | } 23 | 24 | char MenuInterface::getCharacterInput() const 25 | { 26 | char input; 27 | _input >> input; 28 | _input.ignore(std::numeric_limits::max(), '\n'); 29 | return input; 30 | } 31 | 32 | bool MenuInterface::processSelection(char selection) 33 | { 34 | switch (selection) { 35 | case 'a': 36 | addAsset(); 37 | break; 38 | case 'd': 39 | disposeAsset(); 40 | break; 41 | case 'l': 42 | listAssetsByType(); 43 | break; 44 | case 'c': 45 | listAssetsByCustodian(); 46 | break; 47 | case 'f': 48 | findAsset(); 49 | break; 50 | case 'q': 51 | return false; 52 | default: 53 | _display << "Sorry, \'" << selection 54 | << "\' is not a valid option, please try again." << std::endl; 55 | } 56 | return true; 57 | } 58 | 59 | void MenuInterface::addAsset() 60 | { 61 | AddMenuInterface m{std::cout, std::cin}; 62 | m.displayMainMenu(); 63 | while (m.processSelection(m.getCharacterInput())) { 64 | m.displayMainMenu(); 65 | } 66 | } 67 | 68 | void MenuInterface::disposeAsset() 69 | { 70 | AssetRegister *assetReg = AssetRegister::instance(); 71 | std::string qst = "enter Asset Id :"; 72 | assetReg->remove(getStringInput(qst)); 73 | 74 | 75 | 76 | } 77 | 78 | void MenuInterface::updateAsset() 79 | { 80 | // TODO: implement this method. 81 | } 82 | 83 | void MenuInterface::addMaintenance() 84 | { 85 | // TODO: implement this method. 86 | } 87 | 88 | void MenuInterface::listAssetsByType() 89 | { 90 | DisplayByTypeInterface m{std::cout, std::cin}; 91 | m.displayMainMenu(); 92 | while (m.processSelection(m.getCharacterInput())) { 93 | m.displayMainMenu(); 94 | } 95 | } 96 | 97 | void MenuInterface::listAssetsByCustodian() 98 | { 99 | // TODO: implement this method. 100 | } 101 | 102 | void MenuInterface::findAsset() 103 | { 104 | FindAssetMenu m{std::cout, std::cin}; 105 | m.displayMainMenu(); 106 | while (m.processSelection(m.getCharacterInput())) { 107 | m.displayMainMenu(); 108 | } 109 | } 110 | 111 | 112 | 113 | std::string MenuInterface::getStringInput(std::string& qst) const 114 | { 115 | std::string input; 116 | _display << qst << std::endl; 117 | _input >> input; 118 | return input; 119 | } 120 | 121 | double MenuInterface::getDoubleInput(std::string& qst){ 122 | double input; 123 | _display << qst << std::endl; 124 | _input >> input; 125 | return input; 126 | } 127 | 128 | Date MenuInterface::getDateInput(std::string& qst){ 129 | Date date = Date(10,Date::April,2017); 130 | return date; 131 | } 132 | -------------------------------------------------------------------------------- /AssetManager/AssetManager.layout: -------------------------------------------------------------------------------- 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 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /AssetManager/AssetManager.depend: -------------------------------------------------------------------------------- 1 | # depslib dependency file v1.0 2 | 1505432540 source:c:\users\kasparov\desktop\assetmanager\assetmanager\asset.cpp 3 | "asset.h" 4 | 5 | 1505439774 c:\users\kasparov\desktop\assetmanager\assetmanager\asset.h 6 | 7 | "date.h" 8 | 9 | 1505421193 c:\users\kasparov\desktop\assetmanager\assetmanager\date.h 10 | 11 | 12 | 1505421377 source:c:\users\kasparov\desktop\assetmanager\assetmanager\date.cpp 13 | "date.h" 14 | 15 | 16 | 17 | 18 | 1505423608 source:c:\users\kasparov\desktop\assetmanager\assetmanager\main.cpp 19 | 20 | "menuinterface.h" 21 | 22 | 1505434293 source:c:\users\kasparov\desktop\assetmanager\assetmanager\computer.cpp 23 | "computer.h" 24 | 25 | 1505432511 c:\users\kasparov\desktop\assetmanager\assetmanager\computer.h 26 | "asset.h" 27 | "custodian.h" 28 | "computer.h" 29 | 30 | 1505435244 source:c:\users\kasparov\desktop\assetmanager\assetmanager\assetregister.cpp 31 | "assetregister.h" 32 | 33 | "Asset.h" 34 | 35 | 1505435910 c:\users\kasparov\desktop\assetmanager\assetmanager\assetregister.h 36 | 37 | "Asset.h" 38 | 39 | 40 | 1505438899 c:\users\kasparov\desktop\assetmanager\assetmanager\menuinterface.h 41 | 42 | 43 | 1505438899 source:c:\users\kasparov\desktop\assetmanager\assetmanager\menuinterface.cpp 44 | "menuinterface.h" 45 | "assetregister.h" 46 | 47 | "addmenuinterface.h" 48 | 49 | 1505433285 source:c:\users\kasparov\desktop\assetmanager\assetmanager\custodian.cpp 50 | "custodian.h" 51 | 52 | 1505433355 c:\users\kasparov\desktop\assetmanager\assetmanager\custodian.h 53 | 54 | "date.h" 55 | 56 | 1505434336 source:c:\users\kasparov\desktop\assetmanager\assetmanager\television.cpp 57 | "television.h" 58 | 59 | 1505432570 c:\users\kasparov\desktop\assetmanager\assetmanager\television.h 60 | "Asset.h" 61 | 62 | 1505434366 source:c:\users\kasparov\desktop\assetmanager\assetmanager\phone.cpp 63 | "phone.h" 64 | 65 | 1505433005 c:\users\kasparov\desktop\assetmanager\assetmanager\phone.h 66 | "custodian.h" 67 | "Asset.h" 68 | 69 | 1505434321 source:c:\users\kasparov\desktop\assetmanager\assetmanager\hmd.cpp 70 | "hmd.h" 71 | 72 | 1505433159 c:\users\kasparov\desktop\assetmanager\assetmanager\hmd.h 73 | "Asset.h" 74 | "custodian.h" 75 | 76 | 1505433737 source:c:\users\kasparov\desktop\assetmanager\assetmanager\mrecord.cpp 77 | "mrecord.h" 78 | 79 | 1505433775 c:\users\kasparov\desktop\assetmanager\assetmanager\mrecord.h 80 | 81 | "date.h" 82 | 83 | 1505439565 source:c:\users\kasparov\desktop\assetmanager\assetmanager\addmenuinterface.cpp 84 | "addmenuinterface.h" 85 | 86 | 87 | 1505440318 c:\users\kasparov\desktop\assetmanager\assetmanager\addmenuinterface.h 88 | "menuinterface.h" 89 | 90 | "Asset.h" 91 | 92 | 1505567855 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\addmenuinterface.cpp 93 | "addmenuinterface.h" 94 | 95 | "computer.h" 96 | "assetregister.h" 97 | 98 | 1505567075 c:\users\aelmottaki\desktop\assetmanager\assetmanager\addmenuinterface.h 99 | "menuinterface.h" 100 | 101 | "Asset.h" 102 | 103 | 104 | 1505553069 c:\users\aelmottaki\desktop\assetmanager\assetmanager\menuinterface.h 105 | 106 | "date.h" 107 | 108 | 1505571896 c:\users\aelmottaki\desktop\assetmanager\assetmanager\asset.h 109 | 110 | "date.h" 111 | 112 | 1505395993 c:\users\aelmottaki\desktop\assetmanager\assetmanager\date.h 113 | 114 | 115 | 1505553974 c:\users\aelmottaki\desktop\assetmanager\assetmanager\computer.h 116 | "asset.h" 117 | "custodian.h" 118 | "computer.h" 119 | 120 | 1505408155 c:\users\aelmottaki\desktop\assetmanager\assetmanager\custodian.h 121 | 122 | "date.h" 123 | 124 | 1505579253 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\asset.cpp 125 | "asset.h" 126 | 127 | 1505581518 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\assetregister.cpp 128 | "assetregister.h" 129 | 130 | "Asset.h" 131 | 132 | "computer.h" 133 | 134 | 1505581394 c:\users\aelmottaki\desktop\assetmanager\assetmanager\assetregister.h 135 | 136 | "Asset.h" 137 | 138 | 139 | 140 | 1505580381 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\computer.cpp 141 | "computer.h" 142 | 143 | 1505408085 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\custodian.cpp 144 | "custodian.h" 145 | 146 | 1505396177 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\date.cpp 147 | "date.h" 148 | 149 | 150 | 151 | 152 | 1505409121 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\hmd.cpp 153 | "hmd.h" 154 | 155 | 1505407959 c:\users\aelmottaki\desktop\assetmanager\assetmanager\hmd.h 156 | "Asset.h" 157 | "custodian.h" 158 | 159 | 1505579850 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\main.cpp 160 | 161 | "menuinterface.h" 162 | 163 | "assetregister.h" 164 | "computer.h" 165 | 166 | 1505577304 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\menuinterface.cpp 167 | "menuinterface.h" 168 | "assetregister.h" 169 | 170 | "addmenuinterface.h" 171 | "displaybytypeinterface.h" 172 | "findassetmenu.h" 173 | 174 | 1505408537 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\mrecord.cpp 175 | "mrecord.h" 176 | 177 | 1505408575 c:\users\aelmottaki\desktop\assetmanager\assetmanager\mrecord.h 178 | 179 | "date.h" 180 | 181 | 1505409166 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\phone.cpp 182 | "phone.h" 183 | 184 | 1505407805 c:\users\aelmottaki\desktop\assetmanager\assetmanager\phone.h 185 | "custodian.h" 186 | "Asset.h" 187 | 188 | 1505409136 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\television.cpp 189 | "television.h" 190 | 191 | 1505407370 c:\users\aelmottaki\desktop\assetmanager\assetmanager\television.h 192 | "Asset.h" 193 | 194 | 1505576085 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\displaybytypeinterface.cpp 195 | "displaybytypeinterface.h" 196 | "assetregister.h" 197 | 198 | 1505569804 c:\users\aelmottaki\desktop\assetmanager\assetmanager\displaybytypeinterface.h 199 | "menuinterface.h" 200 | 201 | 1505577118 source:c:\users\aelmottaki\desktop\assetmanager\assetmanager\findassetmenu.cpp 202 | "findassetmenu.h" 203 | 204 | 1505577146 c:\users\aelmottaki\desktop\assetmanager\assetmanager\findassetmenu.h 205 | "menuinterface.h" 206 | 207 | 1505593055 source:c:\users\kasparov\documents\assetmanager\assetmanager\addmenuinterface.cpp 208 | "addmenuinterface.h" 209 | 210 | "computer.h" 211 | "assetregister.h" 212 | 213 | 1505592275 c:\users\kasparov\documents\assetmanager\assetmanager\addmenuinterface.h 214 | "menuinterface.h" 215 | 216 | "Asset.h" 217 | 218 | 219 | 1505578269 c:\users\kasparov\documents\assetmanager\assetmanager\menuinterface.h 220 | 221 | "date.h" 222 | 223 | 1505421193 c:\users\kasparov\documents\assetmanager\assetmanager\date.h 224 | 225 | 226 | 1505498294 c:\users\kasparov\documents\assetmanager\assetmanager\asset.h 227 | 228 | "date.h" 229 | 230 | 1505579174 c:\users\kasparov\documents\assetmanager\assetmanager\computer.h 231 | "asset.h" 232 | "custodian.h" 233 | "computer.h" 234 | 235 | 1505433355 c:\users\kasparov\documents\assetmanager\assetmanager\custodian.h 236 | 237 | "date.h" 238 | 239 | 1505498772 c:\users\kasparov\documents\assetmanager\assetmanager\assetregister.h 240 | 241 | "Asset.h" 242 | 243 | 244 | 245 | 1505498545 source:c:\users\kasparov\documents\assetmanager\assetmanager\asset.cpp 246 | "asset.h" 247 | 248 | 1505498802 source:c:\users\kasparov\documents\assetmanager\assetmanager\assetregister.cpp 249 | "assetregister.h" 250 | 251 | "Asset.h" 252 | 253 | "computer.h" 254 | 255 | 1505605581 source:c:\users\kasparov\documents\assetmanager\assetmanager\computer.cpp 256 | "computer.h" 257 | 258 | 1505433285 source:c:\users\kasparov\documents\assetmanager\assetmanager\custodian.cpp 259 | "custodian.h" 260 | 261 | 1505421377 source:c:\users\kasparov\documents\assetmanager\assetmanager\date.cpp 262 | "date.h" 263 | 264 | 265 | 266 | 267 | 1505601285 source:c:\users\kasparov\documents\assetmanager\assetmanager\displaybytypeinterface.cpp 268 | "displaybytypeinterface.h" 269 | "assetregister.h" 270 | 271 | 1505595004 c:\users\kasparov\documents\assetmanager\assetmanager\displaybytypeinterface.h 272 | "menuinterface.h" 273 | 274 | 1505602318 source:c:\users\kasparov\documents\assetmanager\assetmanager\findassetmenu.cpp 275 | "findassetmenu.h" 276 | 277 | 1505602346 c:\users\kasparov\documents\assetmanager\assetmanager\findassetmenu.h 278 | "menuinterface.h" 279 | 280 | 1505434321 source:c:\users\kasparov\documents\assetmanager\assetmanager\hmd.cpp 281 | "hmd.h" 282 | 283 | 1505433159 c:\users\kasparov\documents\assetmanager\assetmanager\hmd.h 284 | "Asset.h" 285 | "custodian.h" 286 | 287 | 1505605050 source:c:\users\kasparov\documents\assetmanager\assetmanager\main.cpp 288 | 289 | "menuinterface.h" 290 | 291 | "assetregister.h" 292 | "computer.h" 293 | 294 | 1505606880 source:c:\users\kasparov\documents\assetmanager\assetmanager\menuinterface.cpp 295 | "menuinterface.h" 296 | "assetregister.h" 297 | 298 | "addmenuinterface.h" 299 | "displaybytypeinterface.h" 300 | "findassetmenu.h" 301 | 302 | 1505433737 source:c:\users\kasparov\documents\assetmanager\assetmanager\mrecord.cpp 303 | "mrecord.h" 304 | 305 | 1505433775 c:\users\kasparov\documents\assetmanager\assetmanager\mrecord.h 306 | 307 | "date.h" 308 | 309 | 1505434366 source:c:\users\kasparov\documents\assetmanager\assetmanager\phone.cpp 310 | "phone.h" 311 | 312 | 1505433005 c:\users\kasparov\documents\assetmanager\assetmanager\phone.h 313 | "custodian.h" 314 | "Asset.h" 315 | 316 | 1505434336 source:c:\users\kasparov\documents\assetmanager\assetmanager\television.cpp 317 | "television.h" 318 | 319 | 1505432570 c:\users\kasparov\documents\assetmanager\assetmanager\television.h 320 | "Asset.h" 321 | 322 | --------------------------------------------------------------------------------