From 0c72b319535bd4b5ab30b1faf5a60012373d5370 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 9 Jul 2018 16:06:27 +0200 Subject: [PATCH 1/3] New classes added --- src/core/article.cpp | 24 ++++++++++++++++++++++++ src/core/article.h | 27 +++++++++++++++++++++++++++ src/core/seller.cpp | 26 ++++++++++++++++++++++++++ src/core/seller.h | 30 ++++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+) create mode 100644 src/core/article.cpp create mode 100644 src/core/article.h create mode 100644 src/core/seller.cpp create mode 100644 src/core/seller.h diff --git a/src/core/article.cpp b/src/core/article.cpp new file mode 100644 index 0000000..4ba0b33 --- /dev/null +++ b/src/core/article.cpp @@ -0,0 +1,24 @@ +#include "article.h" + +Article::Article() : Entity() +{} + +Article::Article(const std::shared_ptr sellerPtr) : Entity() +{ + this->sellerPtr = sellerPtr; +} + +void Article::setArticleNo(int articleNo) +{ + this->articleNo = articleNo; +} + +void Article::setPrice(int price) +{ + this->price = price; +} + +void Article::setDescription(const std::string& description) +{ + this->description = description; +} \ No newline at end of file diff --git a/src/core/article.h b/src/core/article.h new file mode 100644 index 0000000..cc25ffa --- /dev/null +++ b/src/core/article.h @@ -0,0 +1,27 @@ +#ifndef ARTICLE_H +#define ARTICLE_H + +#include "entity.h" +#include "seller.h" + +#include +#include + +class Seller; + +class Article : public Entity +{ +public: + Article(); + Article(std::shared_ptr sellerPtr); + void setArticleNo(int articleNo); + void setPrice(int price); + void setDescription(const std::string& description); +private: + std::shared_ptr sellerPtr{}; + int articleNo{}; + int price{}; + std::string description{}; +}; + +#endif \ No newline at end of file diff --git a/src/core/seller.cpp b/src/core/seller.cpp new file mode 100644 index 0000000..58861bd --- /dev/null +++ b/src/core/seller.cpp @@ -0,0 +1,26 @@ +#include "seller.h" + +void Seller::setSellerNo(int seller_no) +{ + this->sellerNo = seller_no; +} + +void Seller::setFirstName(const std::string& firstName) +{ + this->firstName = firstName; +} + +void Seller::setLastName(const std::string& lastName) +{ + this->lastName = lastName; +} + +void Seller::setNumberOfOfferedArticles(int number) +{ + numberOfOfferedArticles = number; +} + +size_t Seller::getNumberOfOfferedArticles() +{ + return articles.size(); +} \ No newline at end of file diff --git a/src/core/seller.h b/src/core/seller.h new file mode 100644 index 0000000..16edd98 --- /dev/null +++ b/src/core/seller.h @@ -0,0 +1,30 @@ +#ifndef SELLER_H +#define SELLER_H + +#include "entity.h" +#include "article.h" + +#include +#include + +class Article; + +class Seller : public Entity +{ + public: + void setSellerNo(int sellerNo); + void setFirstName(const std::string& firstName); + void setLastName(const std::string& lastName); + void setNumberOfOfferedArticles(int number); + + size_t getNumberOfOfferedArticles(); + + private: + int sellerNo{}; + int numberOfOfferedArticles{}; + std::string firstName{}; + std::string lastName{}; + std::vector
articles{}; +}; + +#endif \ No newline at end of file From 8f3dda35203c68ee7362a8b0f22fc5340099edea Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 9 Jul 2018 16:06:39 +0200 Subject: [PATCH 2/3] ... --- src/core/CMakeLists.txt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 421ab10..79057d2 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -3,13 +3,16 @@ find_package(Boost 1.62 REQUIRED) find_package(SQLite3 REQUIRED) -set(CORE_HEADERS - entity.h - database.h -) +#set(CORE_HEADERS +# entity.h +# database.h +#) + set(CORE_SOURCES - entity.cpp database.cpp + entity.cpp + seller.cpp + article.cpp ) add_library(core STATIC ${CORE_SOURCES}) From 96113653e7e34d14b09ea3f016194c29334f0050 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 9 Jul 2018 16:07:04 +0200 Subject: [PATCH 3/3] code cleanup --- src/core/entity.cpp | 4 ++-- src/core/entity.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/core/entity.cpp b/src/core/entity.cpp index ac48025..1368155 100644 --- a/src/core/entity.cpp +++ b/src/core/entity.cpp @@ -13,8 +13,8 @@ void Entity::createUuid() uuid = generator(); } -void Entity::createUuidFromString(const std::string& uuid_string) +void Entity::createUuidFromString(const std::string& uuidString) { boost::uuids::string_generator generator{}; - uuid = generator(uuid_string); + uuid = generator(uuidString); } \ No newline at end of file diff --git a/src/core/entity.h b/src/core/entity.h index b36d9a3..63f6229 100644 --- a/src/core/entity.h +++ b/src/core/entity.h @@ -10,9 +10,9 @@ class Entity public: Entity(); virtual ~Entity() = 0; - const boost::uuids::uuid& getUuid() { return uuid; }; + const boost::uuids::uuid& getUuid() const { return uuid; }; void createUuid(); - void createUuidFromString(const std::string& uuid_string); + void createUuidFromString(const std::string& uuidString); private: boost::uuids::uuid uuid{};